<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
  <meta charset="utf-8" />
  <meta name="generator" content="pandoc" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
  <title>QGIS News</title>
  <style>
    html {
      line-height: 1.5;
      font-family: Georgia, serif;
      font-size: 20px;
      color: #1a1a1a;
      background-color: #fdfdfd;
    }
    body {
      margin: 0 auto;
      max-width: 36em;
      padding-left: 50px;
      padding-right: 50px;
      padding-top: 50px;
      padding-bottom: 50px;
      hyphens: auto;
      overflow-wrap: break-word;
      text-rendering: optimizeLegibility;
      font-kerning: normal;
    }
    @media (max-width: 600px) {
      body {
        font-size: 0.9em;
        padding: 1em;
      }
      h1 {
        font-size: 1.8em;
      }
    }
    @media print {
      body {
        background-color: transparent;
        color: black;
        font-size: 12pt;
      }
      p, h2, h3 {
        orphans: 3;
        widows: 3;
      }
      h2, h3, h4 {
        page-break-after: avoid;
      }
    }
    p {
      margin: 1em 0;
    }
    a {
      color: #1a1a1a;
    }
    a:visited {
      color: #1a1a1a;
    }
    img {
      max-width: 100%;
    }
    h1, h2, h3, h4, h5, h6 {
      margin-top: 1.4em;
    }
    h5, h6 {
      font-size: 1em;
      font-style: italic;
    }
    h6 {
      font-weight: normal;
    }
    ol, ul {
      padding-left: 1.7em;
      margin-top: 1em;
    }
    li > ol, li > ul {
      margin-top: 0;
    }
    blockquote {
      margin: 1em 0 1em 1.7em;
      padding-left: 1em;
      border-left: 2px solid #e6e6e6;
      color: #606060;
    }
    code {
      font-family: Menlo, Monaco, 'Lucida Console', Consolas, monospace;
      font-size: 85%;
      margin: 0;
    }
    pre {
      margin: 1em 0;
      overflow: auto;
    }
    pre code {
      padding: 0;
      overflow: visible;
      overflow-wrap: normal;
    }
    .sourceCode {
     background-color: transparent;
     overflow: visible;
    }
    hr {
      background-color: #1a1a1a;
      border: none;
      height: 1px;
      margin: 1em 0;
    }
    table {
      margin: 1em 0;
      border-collapse: collapse;
      width: 100%;
      overflow-x: auto;
      display: block;
      font-variant-numeric: lining-nums tabular-nums;
    }
    table caption {
      margin-bottom: 0.75em;
    }
    tbody {
      margin-top: 0.5em;
      border-top: 1px solid #1a1a1a;
      border-bottom: 1px solid #1a1a1a;
    }
    th {
      border-top: 1px solid #1a1a1a;
      padding: 0.25em 0.5em 0.25em 0.5em;
    }
    td {
      padding: 0.125em 0.5em 0.25em 0.5em;
    }
    header {
      margin-bottom: 4em;
      text-align: center;
    }
    #TOC li {
      list-style: none;
    }
    #TOC ul {
      padding-left: 1.3em;
    }
    #TOC > ul {
      padding-left: 0;
    }
    #TOC a:not(:hover) {
      text-decoration: none;
    }
    code{white-space: pre-wrap;}
    span.smallcaps{font-variant: small-caps;}
    span.underline{text-decoration: underline;}
    div.column{display: inline-block; vertical-align: top; width: 50%;}
    div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
    ul.task-list{list-style: none;}
    .display.math{display: block; text-align: center; margin: 0.5rem auto;}
  </style>
</head>
<body>
<header id="title-block-header">
<h1 class="title">QGIS News</h1>
</header>
<nav id="TOC" role="doc-toc">
<ul>
<li><a href="#whats-new-in-version-3.34-prizren">What’s new in Version
3.34 ‘Prizren’?</a></li>
<li><a href="#whats-new-in-version-3.32-lima">What’s new in Version 3.32
‘Lima’?</a></li>
<li><a href="#whats-new-in-version-3.30-s-hertogenbosch">What’s new in
Version 3.30 ‘’s-Hertogenbosch’?</a></li>
<li><a href="#whats-new-in-version-3.28-firenze">What’s new in Version
3.28 ‘Firenze’?</a></li>
<li><a href="#whats-new-in-version-3.26-buenos-aires">What’s new in
Version 3.26 ‘Buenos Aires’?</a></li>
<li><a href="#whats-new-in-version-3.24-tisler">What’s new in Version
3.24 ‘Tisler’?</a></li>
<li><a href="#whats-new-in-version-3.22-białowieża">What’s new in
Version 3.22 ‘Białowieża’?</a></li>
<li><a href="#whats-new-in-version-3.20-odense">What’s new in Version
3.20 ‘Odense’?</a></li>
<li><a href="#whats-new-in-version-3.18-zürich">What’s new in Version
3.18 ‘Zürich’?</a></li>
<li><a href="#whats-new-in-version-3.16-hannover">What’s new in Version
3.16 ‘Hannover’?</a></li>
<li><a href="#whats-new-in-version-3.14-pi">What’s new in Version 3.14
‘Pi’?</a></li>
<li><a href="#whats-new-in-version-3.12-bucurești">What’s new in Version
3.12 ‘București’?</a></li>
<li><a href="#whats-new-in-version-3.10-a-coruña">What’s new in Version
3.10 ‘A Coruña’?</a></li>
<li><a href="#whats-new-in-version-3.8-zanzibar">What’s new in Version
3.8 ‘Zanzibar’?</a></li>
<li><a href="#whats-new-in-version-3.6.0-noosa">What’s new in Version
3.6.0 ‘Noosa’?</a></li>
<li><a href="#whats-new-in-version-3.4-ltr-madeira">What’s new in
Version 3.4-LTR ‘Madeira’?</a></li>
<li><a href="#whats-new-in-version-3.2-bonn">What’s new in Version 3.2
‘Bonn’?</a></li>
<li><a href="#whats-new-in-version-3.0-girona">What’s new in Version 3.0
‘Girona’?</a></li>
<li><a href="#whats-new-in-version-2.18-las-palmas">What’s new in
Version 2.18 ‘Las Palmas’?</a></li>
<li><a href="#whats-new-in-version-2.16-nødebo">What’s new in Version
2.16 ‘Nødebo’?</a></li>
<li><a href="#whats-new-in-version-2.14-essen">What’s new in Version
2.14 ‘Essen’?</a></li>
<li><a href="#whats-new-in-version-2.12-lyon">What’s new in Version 2.12
‘Lyon’?</a></li>
<li><a href="#whats-new-in-version-2.10-pisa">What’s new in Version 2.10
‘Pisa’?</a></li>
<li><a href="#whats-new-in-version-2.8-wien">What’s new in Version 2.8
‘Wien’?</a></li>
<li><a href="#whats-new-in-version-2.6.0-brighton">What’s new in Version
2.6.0 ‘Brighton’?</a></li>
<li><a href="#whats-new-in-version-2.4.0-chugiak">What’s new in Version
2.4.0 ‘Chugiak’?</a></li>
<li><a href="#whats-new-in-version-2.2.0-valmiera">What’s new in Version
2.2.0 ‘Valmiera’?</a></li>
<li><a href="#whats-new-in-version-2.0.1-dufour">What’s new in Version
2.0.1 ‘Dufour’?</a></li>
<li><a href="#whats-new-in-version-2.0.0-dufour">What’s new in Version
2.0.0 ‘Dufour’?</a></li>
<li><a href="#whats-new-in-version-1.8.0-lisboa">What’s new in Version
1.8.0 ‘Lisboa’?</a></li>
<li><a href="#whats-new-in-version-1.7.2-wroclaw">What’s new in Version
1.7.2 ‘Wroclaw’?</a></li>
<li><a href="#whats-new-in-version-1.7.1-wroclaw">What’s new in Version
1.7.1 ‘Wroclaw’?</a></li>
<li><a href="#whats-new-in-version-1.7.0-wroclaw">What’s new in Version
1.7.0 ‘Wroclaw’?</a></li>
<li><a href="#whats-new-in-version-1.6.0-capiapo">What’s new in Version
1.6.0 ‘Capiapo’?</a></li>
<li><a href="#whats-new-in-version-1.5.0">What’s new in Version
1.5.0?</a></li>
<li><a href="#whats-new-in-version-1.4.0-enceladus">What’s new in
Version 1.4.0 ‘Enceladus’?</a></li>
<li><a href="#whats-new-in-version-1.3.0-mimas">What’s new in Version
1.3.0 ‘Mimas’?</a></li>
<li><a href="#version-1.2.0-daphnis">Version 1.2.0 ‘Daphnis’</a></li>
<li><a href="#version-1.1.0-pan">Version 1.1.0 ‘Pan’</a></li>
<li><a href="#version-1.0.0-kore">Version 1.0.0 ‘Kore’</a></li>
<li><a href="#version-0.11.0-metis">Version 0.11.0 ‘Metis’</a></li>
<li><a href="#version-0.10.0-io">Version 0.10.0 ‘Io’</a></li>
<li><a href="#version-0.9.2rc1-ganymede">Version 0.9.2rc1
‘Ganymede’</a></li>
<li><a href="#version-0.9.1-ganymede">Version 0.9.1 ‘Ganymede’</a></li>
<li><a href="#version-0.9-ganymede">Version 0.9 ‘Ganymede’</a></li>
<li><a href="#version-0.8-joesephine-.-development-version">Version 0.8
‘Joesephine’ …. development version</a></li>
<li><a href="#version-0.6-simon">Version 0.6 ‘Simon’</a></li>
<li><a href="#version-0.5">Version 0.5</a></li>
<li><a href="#version-0.1-moroz-february-25-2004">Version 0.1 ‘Moroz’
February 25, 2004</a></li>
<li><a href="#version-0.0.13-december-8-2003">Version 0.0.13 December 8,
2003</a></li>
<li><a href="#version-0.0.12-alpha-june-10-2003">Version 0.0.12-alpha
June 10, 2003</a></li>
<li><a href="#version-0.0.11-alpha-june-10-2003">Version 0.0.11-alpha
June 10, 2003</a></li>
<li><a href="#version-0.0.10-alpha-may-13-2003">Version 0.0.10-alpha May
13, 2003</a></li>
<li><a href="#version-0.0.9-alpha-january-25-2003">Version 0.0.9-alpha
January 25, 2003</a></li>
<li><a href="#version-0.0.8-alpha-december-11-2002">Version 0.0.8-alpha
December 11, 2002</a></li>
<li><a href="#version-0.0.7-alpha-november-30-2002">Version 0.0.7-alpha
November 30, 2002</a></li>
<li><a href="#version-0.0.6a-alpha-november-27-2002">Version
0.0.6a-alpha November 27, 2002</a></li>
<li><a href="#version-0.0.6-alpha-november-24-2002">Version 0.0.6-alpha
November 24, 2002</a></li>
<li><a href="#version-0.0.5-alpha-october-5-2002">Version 0.0.5-alpha
October 5, 2002</a></li>
<li><a href="#version-0.0.4-alpha-august-15-2002">Version 0.0.4-alpha
August 15, 2002</a></li>
<li><a href="#version-0.0.3-alpha-august-10-2002">Version 0.0.3-alpha
August 10, 2002</a></li>
</ul>
</nav>
<p>Change history for the QGIS Project</p>
<h1 id="whats-new-in-version-3.34-prizren">What’s new in Version 3.34
‘Prizren’?</h1>
<p>This release has following new features:</p>
<ul>
<li>Map Tools: Optional enforcement of “dot” as decimal separator for
measure tool</li>
<li>Map Tools: Show a highlight on identified raster pixels when using
identify tool</li>
<li>Map Tools: Show raster row/column of clicked point in identify
results</li>
<li>Symbology: Settings for overriding selection color and selection
symbol for vector layers</li>
<li>Labelling: Toggle labels for Vector Tile Layers</li>
<li>Rendering: “Sticky” Map Decorations</li>
<li>Rendering: Add map render profiler</li>
<li>Rendering: Add choice of two different modes for “Refresh Layer at
Interval”</li>
<li>3D Features: Allow GPU memory limit configuration</li>
<li>3D Features: Add support for boundingbox3d</li>
<li>Print Layouts: Select multiple layout items</li>
<li>Print Layouts: Layout Page number reflected in page properties</li>
<li>Print Layouts: Automatically open exported layouts</li>
<li>Expressions: Add bearing expression function</li>
<li>Expressions: Add “layer_crs_ellipsoid”</li>
<li>Digitising: Improve “avoid overlap” type awareness</li>
<li>Data Management: Improve save vector features handling for
pre-existing files</li>
<li>Data Management: Maintain relations for copied features</li>
<li>Analysis Tools: Support raster band description</li>
<li>Processing: Antialias setting for raster tile processing plugin</li>
<li>Processing: Create Grid row_index and col_index fields</li>
<li>Processing: New ‘Calculate expression’ algorithm for use in
models</li>
<li>Processing: Add algorithm to convert content from a GLTF/GLB file to
standard vector layer features</li>
<li>Processing: Port SAGA “DTM Filter (slope-based)” tool to a native
QGIS algorithm</li>
<li>Application and Project Options: Clear recently opened project
list</li>
<li>Application and Project Options: OAUTH2 PKCE Authorization Code</li>
<li>Application and Project Options: Set processing defaults from QGIS
configuration file</li>
<li>Profile Plots: Add setting to control background color for elevation
profile charts</li>
<li>Data Providers: Discover relations for Oracle provider</li>
<li>Plugins: Drop interactive shell from GRASS C++ Plugin</li>
<li>Programmability: Function to export runtime profiler model content
as text</li>
<li></li>
</ul>
<h1 id="whats-new-in-version-3.32-lima">What’s new in Version 3.32
‘Lima’?</h1>
<p>This release has following new features:</p>
<ul>
<li>Map Tools: Map tip preview</li>
<li>Map Tools: Measure tool copy coordinates</li>
<li>Map Tools: Disable map tips for a specific layer</li>
<li>User Interface: Show value relation description when hovering the
combobox</li>
<li>User Interface: 2d map canvas view docking actions</li>
<li>User Interface: Add clear recently used crs button</li>
<li>User Interface: Reverse wheel zoom</li>
<li>User Interface: Spatial bookmarks rotation</li>
<li>Annotations: Annotation tool improvements</li>
<li>Annotations: Annotation live preview</li>
<li>3D Features: Enable rendering virtual point clouds in 3d views</li>
<li>3D Features: Improved 3d measure tool</li>
<li>Point Clouds: Native point cloud Processing provider</li>
<li>Point Clouds: Point cloud expression builder</li>
<li>Point Clouds: Add filtering by rectangle and expression to PDAL
algorithms</li>
<li>Point Clouds: New parameter type for point cloud attribute</li>
<li>Print Layouts: Hyperlink support for HTML-enabled label exports</li>
<li>Print Layouts: Support filtering layout legends by multiple linked
map items</li>
<li>Expressions: Add ltrim/rtrim functions</li>
<li>Digitising: Field value list in merge feature dialog</li>
<li>Digitising: Common angle option extensions for advanced
digitizing</li>
<li>Digitising: Floater settings and bearing information for advanced
digitizing</li>
<li>Data Management: Allow a range of cells to be copied from SQL
results window</li>
<li>Data Management: Modified New field dialog behavior and alias
support</li>
<li>Data Management: Add DistanceUnit value for inches</li>
<li>Data Management: Record split policy selection in form dialog</li>
<li>Forms and Widgets: Add control over horizontal / vertical stretch
for attribute form widgets</li>
<li>Forms and Widgets: Add new attribute form container type “Row”</li>
<li>Processing: Download vector tiles algorithm</li>
<li>Processing: Allow configuration of the order of outputs created by a
model</li>
<li>Processing: Algorithm to create COPC files for input point
clouds</li>
<li>Processing: Add invert selection tool on refactor fields processing
tool</li>
<li>Processing: Support field comments and aliases in processing
algorithms</li>
<li>Processing: New options for Build VPC algorithm</li>
<li>Processing: Thread management in algorithm settings</li>
<li>Processing: Allow temporary folder to be temporarily changed through
the algorithm settings panel</li>
<li>Processing: Allow processing dialog to override default processing
context settings</li>
<li>Processing: Additional parameters for gdal2xyz algorithm</li>
<li>Processing: Add “Keep disjoint results separate” option to buffer
algorithm</li>
<li>Processing: Allow filter expressions to be set for vector
sources</li>
<li>Processing: Support <code>*.HEIC</code> HEIF format images in
Processing <code>ImportPhotosAlgorithm</code></li>
<li>Application and Project Options: Settings editor updates</li>
<li>Application and Project Options: User profile selector</li>
<li>Profile Plots: Distance unit selection for elevation profiles</li>
<li>Profile Plots: Export elevation profiles</li>
<li>Profile Plots: Add layers to elevation profiles</li>
<li>Profile Plots: Add “Fill Above” mode for elevation profile
drawing</li>
<li>Profile Plots: Add option to lock the horizontal/ vertical scale to
matching scales</li>
<li>Sensors: Core sensors framework</li>
<li>Sensors: Sensors GUI registry and configuration widgets</li>
<li>Sensors: Sensor options panel within the project properties
dialog</li>
<li>Browser: Set field comments in browser</li>
<li>Browser: Set field aliases in browser</li>
<li>Data Providers: Load layers in parallel threads when opening
project</li>
<li>Data Providers: Implements server-side filtering using Part 1 or
Part 3</li>
<li>Data Providers: Virtual point cloud data provider</li>
<li>Data Providers: Expose option to load vector tile sources from files
in Data Source Manager</li>
<li>Data Providers: Additional user controlled vector tile
properties</li>
<li>Data Providers: Fix broken layer support for vtpk/mbtile vector tile
layers, show vtpk files in browser</li>
<li>QGIS Server: PDF format options for WMS GetPrint</li>
<li>QGIS Server: Configurable capabilities cache size</li>
<li>QGIS Server: Add display name in GetFeatureInfo response</li>
<li>QGIS Server: OGC API - Features: Add full pagination for collection
items HTML page</li>
<li>Programmability: Python console help improvements</li>
<li>Programmability: Run shell commands from the Python Console</li>
<li>Programmability: Reformat code action for code editors</li>
<li>Programmability: Toggle Python console to full main window</li>
<li>Programmability: Reformat HTML Code in Code Editors</li>
<li></li>
</ul>
<h1 id="whats-new-in-version-3.30-s-hertogenbosch">What’s new in Version
3.30 ‘’s-Hertogenbosch’?</h1>
<p>This release has following new features:</p>
<ul>
<li>Breaking Changes: Drop project backward compatibility for symbology
with QGIS 3.16 and older</li>
<li>Map Tools: Raster MapTips</li>
<li>Map Tools: Identify on mouse move, no mouse click</li>
<li>User Interface: Constraint based functionality for attribute
tables</li>
<li>User Interface: Additional GPS information panel and toolbar
fields</li>
<li>User Interface: GPS Information Panel UX and Refactoring</li>
<li>Symbology: Improved SLD Export Options</li>
<li>Rendering: Global map terrain shading</li>
<li>Rendering: Add super and subscript support for text renderer</li>
<li>3D Features: Limit 2D extent of 3D scene</li>
<li>Print Layouts: Shortcuts manager in print layouts</li>
<li>Print Layouts: Use text renderer in layout legends</li>
<li>Expressions: Add feature_id() function</li>
<li>Expressions: New is_feature_valid() and is_attribute_valid()
functions</li>
<li>Expressions: Add x_at, y_at, z_at, m_at expression functions</li>
<li>Data Management: DateTime Field editing: segregation of display
format and field value format</li>
<li>Data Management: Add option to directly log GPS points and tracks to
a Geopackage or Spatialite db</li>
<li>Data Management: Add an explicit “Offset from UTC” option for
storing GPS feature timestamps</li>
<li>Data Management: Raster Attribute Tables (RAT) Suppport</li>
<li>Metadata and Metasearch: Add key dates to layer and project
metadata</li>
<li>Forms and Widgets: Audiovisual multimedia attribute attachments
support</li>
<li>Forms and Widgets: Data defined editable state for form widgets</li>
<li>Forms and Widgets: Spacer widget for drag &amp; drop attribute
forms</li>
<li>Forms and Widgets: Dynamic text widgets with current_value
support</li>
<li>Forms and Widgets: Dynamic HTML widgets with current_value
support</li>
<li>Layer Legend: New layer ordering improvements</li>
<li>Processing: Additional options for XYZ Tile exports when using
Leaflet html output</li>
<li>Processing: Support data defined parameter values when using
qgis_process tool</li>
<li>Processing: New “load_layer” function</li>
<li>Processing: Add user interface for extent definition in GDAL Raster
Calculator</li>
<li>Application and Project Options: Add option to store selected GPS
component in geometry M values</li>
<li>Application and Project Options: Make GPS track destination layer an
explicit user choice, remember in project</li>
<li>Profile Plots: New elevation profile canvas item for QGIS Quick</li>
<li>Browser: Add dataset relationship editing and creation capabilities
in browser</li>
<li>Data Providers: Removal of Native GeoNode Provider</li>
<li>Data Providers: In data source manager, allow users to directly add
an XYZ tile layer without having to create a connection first</li>
<li>Data Providers: SQL Logging for OGR Provider</li>
<li>Data Providers: S3 Cloud Storage Support</li>
<li>Data Providers: Resolution aware WMTS layers with automatic
upscaling</li>
<li>Data Providers: Drop unmaintained SAGA provider from QGIS
installations</li>
<li>QGIS Server: QGIS_APPLICATION_FULL_NAME environment variable</li>
<li>QGIS Server: GeoJSON support for WFS DescribeFeatureType</li>
<li>Plugins: Topology checker rules enabling/disabling and
filtering</li>
<li>Programmability: QgsExifTools Improvements</li>
<li>Programmability: Smart bracket autocomplete updates for Code
Editors</li>
<li>Programmability: Add “toggle comment” action to the integrated
python console</li>
<li></li>
</ul>
<h1 id="whats-new-in-version-3.28-firenze">What’s new in Version 3.28
‘Firenze’?</h1>
<p>This release has following new features:</p>
<ul>
<li>Temporal: Add temporal manager support for WMTS layers with TIME
dimension</li>
<li>Map Tools: Allow selecting features in vector tile layers</li>
<li>User Interface: Exclusive window based UX for data source
manager</li>
<li>User Interface: Add a Show in Attribute Table action to the right
click menu of legend class symbols</li>
<li>User Interface: Add setting to hide NULL values on identify
result</li>
<li>Symbology: Allow control over GPS location marker</li>
<li>Symbology: Added new ellipse marker shapes</li>
<li>Labelling: Add support for HTML bold/italic/font size and font
family to labelling</li>
<li>Labelling: Add option to use absolute units for line height</li>
<li>Mesh: Add option to reload mesh layer temporal properties</li>
<li>3D Features: Ambient Occlusion 3D Effect</li>
<li>Point Clouds: Point Cloud Layer Export</li>
<li>Point Clouds: Eye Dome Lighting for point clouds in 2D map
canvas</li>
<li>Print Layouts: Add FORCE_RASTER and IMAGE_COMPRESSION parameters to
PDF algorithms</li>
<li>Expressions: Add new variable form of current feature expression
functions</li>
<li>Expressions: Add new shared_paths function</li>
<li>Expressions: Make_valid and geom_to_array functions</li>
<li>Expressions: Concave hull function</li>
<li>Data Management: Ask for confirmation when deleting features</li>
<li>Metadata and Metasearch: Layer metadata data provider search and
storage</li>
<li>Processing: Fixed precision support for select processing tools</li>
<li>Processing: Improved “Make Valid” Algorithms</li>
<li>Processing: Default option to show feature count for vector outputs
from processing</li>
<li>Processing: Add relations export option to package layers
algorithm</li>
<li>Processing: Add “Offset” parameter to “Drape” algorithms</li>
<li>Application and Project Options: Modified project coordinate and
bearing display settings</li>
<li>Application and Project Options: Add support for “user” fonts, and
automatic downloading of freely licensed fonts</li>
<li>Browser: Implement relationship discovery for OGR layers, and show
relationships in browser</li>
<li>Browser: Modified UX for Geopackage and ESRI File Geodatabase
creation</li>
<li>Browser: Allow drag and drop of vector layers to non-GPKG OGR
database datasets</li>
<li>Browser: Expose field domain management for non-gpkg OGR
sources</li>
<li>Data Providers: Define session role for PostgreSQL connections</li>
<li>Data Providers: Automatically add related tables when adding layers
from GDAL datasets with embedded relationship information</li>
<li>Data Providers: Add subset string (filter) support for arcgis REST
layers</li>
<li>Data Providers: Abstract database provider for renaming fields</li>
<li>Data Providers: WFS performing binary spatial operations in
expressions on server</li>
<li>Data Providers: Editing ArcGIS REST Layers</li>
<li>Data Providers: Load raster sublayers from vector tile styles
automatically</li>
<li>Data Providers: Add WMS layers individually</li>
<li>Data Providers: Save projects to Oracle Database Provider</li>
<li>QGIS Server: QGIS_SERVER_ALLOWED_EXTRA_SQL_TOKENS settings
variable</li>
<li>QGIS Server: Open layers in a read only mode with QGIS Server</li>
<li>Plugins: Changes to plugin automatic updates behaviour</li>
<li>Programmability: Add temporal handling to maps in QGIS Quick</li>
<li>Programmability: Addition of py-args command line parameter</li>
<li></li>
</ul>
<h1 id="whats-new-in-version-3.26-buenos-aires">What’s new in Version
3.26 ‘Buenos Aires’?</h1>
<p>This release has following new features:</p>
<ul>
<li>Breaking Changes: DB2 Support Removed</li>
<li>Map Tools: Selecting all features by attribute value from Identify
Results panel</li>
<li>User Interface: Coordinate ordering according to CRS</li>
<li>User Interface: Select features from expression based symbols</li>
<li>User Interface: Copy preview expression value to clipboard</li>
<li>User Interface: Option to synchronize statistics panel with layer
selection</li>
<li>User Interface: Implement scroll wheel action for color and symbol
buttons</li>
<li>Accessibility: Horizontal table scroll with shift+wheel</li>
<li>Symbology: New “Animated Marker” symbol type</li>
<li>Symbology: Allow any symbol to be an animated symbol</li>
<li>Symbology: Point cloud style synchronization</li>
<li>Symbology: Add a new classification method for “Fixed interval”</li>
<li>Symbology: Custom dash pattern panel shows total pattern length</li>
<li>Symbology: Select style categories when storing styles in
database</li>
<li>Labelling: Allow data-defined control over line anchor type</li>
<li>Labelling: Control label anchor placement relative to text
position</li>
<li>Labelling: Interactively move curved line labels along their line
features</li>
<li>Rendering: WMS provider resampling</li>
<li>Rendering: Selective masking vectorization</li>
<li>3D Features: Transparency support for 3D Phong material</li>
<li>3D Features: 3D Maps inherit terrain settings from project</li>
<li>3D Features: Sync 2D and 3D navigation</li>
<li>3D Features: 3D axis in 3D map viewer</li>
<li>Point Clouds: Point cloud triangulation in 3D views</li>
<li>Point Clouds: Cloud Optimized Point Clouds (COPC) support</li>
<li>Point Clouds: Point cloud filtering</li>
<li>Print Layouts: Apply font settings from layer conditional styling to
layout attribute tables</li>
<li>Expressions: Between/ Not between operators</li>
<li>Expressions: Static parent variable in aggregate expression
functions</li>
<li>Expressions: Static parent variable in aggregate expression
functions</li>
<li>Digitising: Add a checkbox to disable vertex tool dock auto-opening
behavior</li>
<li>Digitising: Integrate shape map tools into feature digitizing</li>
<li>Digitising: New constraints for advanced digitizing panel</li>
<li>Data Management: Add a “filter rules” search box to vector tile
renderer and labeling widgets</li>
<li>Data Management: User defined field names in export</li>
<li>Data Management: Georeferencing vector layers in georeferencer</li>
<li>Data Management: Add field domain management capabilities to
browser</li>
<li>Data Management: Buffered Transactional Editing</li>
<li>Forms and Widgets: Access form reference in python form actions</li>
<li>Forms and Widgets: Allow drag and drop forms label font and color
customization</li>
<li>Forms and Widgets: Collapse form group by expression</li>
<li>Analysis Tools: “Keep disjoint features separate” option for
dissolve algorithm</li>
<li>Processing: Raise message model tool</li>
<li>Processing: Run batch processing steps in tasks</li>
<li>Processing: Background processing of model algorithms</li>
<li>Processing: Allow setting Examples in graphical model help</li>
<li>Processing: Overlay tools with multiple overlay layers support</li>
<li>Application and Project Options: Project elevation properties
framework</li>
<li>Application and Project Options: Optionally store UI configuration
in projects</li>
<li>Application and Project Options: Optionally store layer edit state
in projects</li>
<li>Application and Project Options: Project style databases
support</li>
<li>Application and Project Options: Added setting to show feature
counts by default for newly added layers</li>
<li>Application and Project Options: Add a “Skip” option for custom
environmental variables in Settings-&gt;Options-&gt;Environment</li>
<li>Application and Project Options: Revamped projects’ default symbols,
color ramp , and text format</li>
<li>Profile Plots: Elevation profile plotting tool</li>
<li>Profile Plots: Flexible vector layer symbology in elevation
profiles</li>
<li>Profile Plots: Flexible symbology for point cloud profile
plotting</li>
<li>Profile Plots: Vector feature extrusion for profile charts</li>
<li>Browser: Rename bookmark groups context menu control</li>
<li>Data Providers: Support reading ESRI vector tile packages (.vtpk)
files directly</li>
<li>Data Providers: SQL Logging in the Debugging/ Development panel</li>
<li>QGIS Server: Alternate periodic check strategy for detecting project
updates</li>
<li>QGIS Server: Add more server highlight label parameters</li>
<li>QGIS Server: Temporal properties support for WMS Server</li>
<li>Programmability: Add a QgsScaleCalculator function to calculate
canvas width from a given extent, scale, and dpi</li>
<li>Programmability: Clear current symbol action in symbol button
widget</li>
<li></li>
</ul>
<h1 id="whats-new-in-version-3.24-tisler">What’s new in Version 3.24
‘Tisler’?</h1>
<p>This release has following new features:</p>
<ul>
<li>User Interface: Retrieve map extents directly from layout maps and
bookmarks</li>
<li>User Interface: Easier creation of custom coordinate reference
systems</li>
<li>Symbology: Marker/hash line: offsets along line by “percent” of line
length (and negative offsets!)</li>
<li>Symbology: Control whether first/last vertex placements apply to
every part of multi-part geometries</li>
<li>Symbology: Marker/hash line “on vertices” placement option replaced
by “on inner vertices”</li>
<li>Symbology: Placement options in marker and hash line symbol layers
are now checkboxes instead of mutually exclusive buttons</li>
<li>Symbology: Control the color model used when interpolating gradient
ramps</li>
<li>Symbology: Resizable thumbnails in the style manager dialog</li>
<li>Symbology: “Lineburst” symbols</li>
<li>Symbology: “Raster Line” symbols</li>
<li>Symbology: Choice of clipping behaviour for line pattern fills</li>
<li>Symbology: Improved rendering of line pattern fills</li>
<li>Symbology: Rotation angle for point pattern fills</li>
<li>Symbology: Randomized point offsets for point pattern fills</li>
<li>Symbology: Coordinate reference mode setting for line pattern and
point pattern fill symbol layers</li>
<li>Symbology: Control marker clipping for point pattern fills</li>
<li>Symbology: Expression functions for creating
triangular/square/curved waves</li>
<li>Labelling: “Percentage” units for text buffer size, shadow offset
and blur radius</li>
<li>Labelling: Data defined label positions by point geometries</li>
<li>Labelling: Stretched text for labels and text formats</li>
<li>Rendering: Rendering layers as groups</li>
<li>Rendering: Support for “Line pattern” when converting Mapbox GL
vector tile layer styles</li>
<li>Rendering: Support background styles for Mapbox GL-styled vector
tile layers</li>
<li>3D Features: Respect Z ordering when rendering point clouds in
2D</li>
<li>3D Features: Dock/Undock 3D views</li>
<li>3D Features: 3D map view manager</li>
<li>3D Features: Improved camera navigation</li>
<li>Print Layouts: Full text rendering capabilities for layout text
labels</li>
<li>Expressions: geometry_type function</li>
<li>Expressions: Overlay intersects sort by intersection size</li>
<li>Expressions: Show all layer field names when building
expressions</li>
<li>Expressions: represent_attributes function</li>
<li>Expressions: Optional minimum overlap area and circle radius for
overlay_intersection</li>
<li>Expressions: map_prefix_keys function</li>
<li>Expressions: densify_by_count and densify_by_distance functions</li>
<li>Expressions: Rotate parts of multi-part geometries independently
with “rotate” expression function</li>
<li>Expressions: apply_dash_pattern function</li>
<li>Expressions: scale function</li>
<li>Expressions: Filter by multiple attributes for get_feature
function</li>
<li>Data Management: Multiedit support for relation editor</li>
<li>Metadata and Metasearch: Support for OGC API - Records in
MetaSearch</li>
<li>Forms and Widgets: Form submit actions with HTTP POST</li>
<li>Forms and Widgets: New button to open attribute table on filtered
features</li>
<li>Analysis Tools: Add roundness method to curve polygon</li>
<li>Processing: Extract labels algorithm</li>
<li>Processing: Optional output extent parameter for the GDAL Raster
Calculator algorithm</li>
<li>Processing: Optional extent parameter for the GDAL clip raster by
mask algorithm</li>
<li>Processing: Processing history rework</li>
<li>Processing: Advanced actions in Processing dialogs</li>
<li>Processing: Single file exports from Atlas to PDF algorithm</li>
<li>Processing: Project Models are shown in the Project menu</li>
<li>Processing: Add point cloud destination parameter and output to
Processing</li>
<li>Processing: Array field support</li>
<li>Application and Project Options: qgis_process –no-python
argument</li>
<li>Application and Project Options: Suppress “bad layers” handler on
startup</li>
<li>Application and Project Options: Parameter values for qgis_process
can be specified as a JSON object via stdin</li>
<li>Application and Project Options: Run Python script algorithms
directly via qgis_process</li>
<li>Data Providers: Friendlier errors from XYZ raster tiles, WMS and
vector tiles</li>
<li>Data Providers: Add out-of-the-box connection to Mapzen Global
Terrain tiles</li>
<li>Data Providers: HMAC SHA256 auth method for MapTiler</li>
<li>Data Providers: Template parameter {usage} for XYZ raster and vector
tiles</li>
<li>Data Providers: Convert WMTS/XYZ raster tiles to terrain (DEM)</li>
<li>Data Providers: Array field types for scratch layers</li>
<li>Data Providers: JSON field types for new GeoPackage layers</li>
<li>Data Providers: Delimited text type overrides and other
improvements</li>
<li>Data Providers: New authentication method for HTTP header based
authentication</li>
<li>Data Providers: Expose secondary PostGIS geometry columns as
referenced geometries</li>
<li>QGIS Server: Allow better control of the response flow chain from
server filters</li>
<li></li>
</ul>
<h1 id="whats-new-in-version-3.22-białowieża">What’s new in Version 3.22
‘Białowieża’?</h1>
<p>This release has following new features:</p>
<ul>
<li>Annotations: Annotation layer properties and effects</li>
<li>Annotations: Edit nodes in an annotation item</li>
<li>Annotations: Move selected annotation with cursor keys</li>
<li>Annotations: Create line/ polygon annotation item tools</li>
<li>Annotations: New point text tool</li>
<li>Annotations: Annotations toolbar</li>
<li>Map Tools: Add a “measure bearing” map tool</li>
<li>User Interface: Toggle editing on multiple selected layers</li>
<li>User Interface: Identify layer groups and all selected layers</li>
<li>User Interface: Add a ‘Show in Files’ action for all file items in
browser</li>
<li>Symbology: Custom units for geometry generator symbol layers</li>
<li>Symbology: Symbology reference scale for vector layers</li>
<li>Symbology: Invert colors filter option for raster rendering</li>
<li>Labelling: Specify unit for data defined label rotation</li>
<li>Mesh: Create new mesh layer</li>
<li>Mesh: Mesh frame editing</li>
<li>Mesh: Mesh frame editing lifecycle</li>
<li>Mesh: Edit mesh map tool</li>
<li>Mesh: Advanced mesh editing enhancements</li>
<li>Mesh: Select editable mesh elements by polygon</li>
<li>Mesh: Select mesh elements by existing geometries</li>
<li>Mesh: Select mesh elements by expression</li>
<li>Mesh: Transform single vertex</li>
<li>Mesh: Reindex/ renumber mesh layer</li>
<li>Mesh: Force mesh by polylines</li>
<li>Mesh: Mesh transform by expression</li>
<li>Rendering: Allow using physical DPI for map canvas</li>
<li>Rendering: Data defined raster layer opacity</li>
<li>Print Layouts: Predefined scale support for point-driven
atlases</li>
<li>Print Layouts: Indentation of legend groups and subgroups</li>
<li>Expressions: Mesh expression functions for vertex_as_point and
vertex_z</li>
<li>Expressions: Expression function for $z</li>
<li>Expressions: Affine transform expression</li>
<li>Expressions: Straight distance2d expression</li>
<li>Expressions: Add sinuosity expression</li>
<li>Expressions: New exif() and exif_geotag() functions</li>
<li>Digitising: Geometry snapper algorithm optimization</li>
<li>Digitising: Convert to curve with vertex tool</li>
<li>Digitising: Add Z/M support to Advanced Digitizing</li>
<li>Data Management: Drag and Drop support for external storage file
widget</li>
<li>Data Management: File-based dataset size and last modified date in
the layer properties dialog</li>
<li>Data Management: Rename files in QGIS Browser</li>
<li>Data Management: Move GPS tools “add gpx layer” functionality to
Data Source Manager</li>
<li>Data Management: Load projects from GPKG using drag and drop</li>
<li>Data Management: External Storage support</li>
<li>Forms and Widgets: Drag &amp; Drop designer form actions</li>
<li>Layer Legend: Use placeholder icon in legend for raster layers</li>
<li>Analysis Tools: Add if() function to raster calculator</li>
<li>Analysis Tools: Virtual raster support in raster calculator</li>
<li>Processing: Annotation layer parameter type for processing</li>
<li>Processing: Add a POST option to the FileDownloader processing
algorithm</li>
<li>Processing: Add new “Select within distance” and “Extract within
distance” algorithms</li>
<li>Processing: Point cloud parameter for Processing</li>
<li>Processing: Remove the GPS importer plugin</li>
<li>Processing: Convert GPX feature type processing algorithm</li>
<li>Processing: Add incremental field with modulo option</li>
<li>Processing: Duration parameter</li>
<li>Processing: Spatiotemporal ST-DBSCAN clustering algorithm</li>
<li>Processing: Move non-native processing providers into independent
plugins</li>
<li>Application and Project Options: Export all keyboard shortcuts to
XML or PDF</li>
<li>Application and Project Options: Move GPS Tools GPSbabel device
configuration widget to global settings</li>
<li>Application and Project Options: Set default path structure for new
projects</li>
<li>Browser: Improved delete action for browser files</li>
<li>Browser: Connections API result widget</li>
<li>Data Providers: Transactions in MSSQL provider</li>
<li>Data Providers: Show system and internal tables in sublayer
selection</li>
<li>Data Providers: Automatically read and convert metadata from ESRI
Personal Geodatabases</li>
<li>Data Providers: Create a generic data item provider for all file
based datasources</li>
<li>QGIS Server: Enable multiple MetadataUrls</li>
<li>QGIS Server: Add version to QGIS Server CLI tools</li>
<li>Programmability: Expose scriptable vector tile encoder</li>
<li>Programmability: Encode and write vector tiles in different CRS than
EPSG:3857</li>
<li>Programmability: DistanceWithin filter for QgsFeatureRequest</li>
<li>Programmability: API for preset combobox values</li>
<li>Programmability: QgsExifTools class support for fetching tag
values</li>
<li>Notable Fixes: Bug fixes by Even Rouault</li>
<li>Notable Fixes: Bug fixes by Alessandro Pasotti</li>
<li>Notable Fixes: Bug fixes by Peter Petrik</li>
<li>Notable Fixes: Bug fixes by Sandro Santilli</li>
<li>Notable Fixes: Bug fixes by Loïc Bartoletti</li>
<li>Notable Fixes: Bug fixes by Denis Rouzaud</li>
<li>Notable Fixes: Bug fixes by Julien Cabieces</li>
<li>Notable Fixes: Bug fixes by Nyall Dawson</li>
<li></li>
</ul>
<h1 id="whats-new-in-version-3.20-odense">What’s new in Version 3.20
‘Odense’?</h1>
<p>This release has following new features:</p>
<ul>
<li>General: Additional options for opening attribute tables</li>
<li>General: Set size for all columns in attribute table</li>
<li>General: Export/import of authentication configurations made
easy</li>
<li>Temporal: Temporal navigation steps</li>
<li>Temporal: Improved WMS-T settings</li>
<li>Temporal: Horizontal mouse wheel temporal navigation</li>
<li>Map Tools: Nominatim Geocoder Integration</li>
<li>User Interface: Processing history dialog improvements</li>
<li>User Interface: Map layer icons in the expression builder
dialog</li>
<li>User Interface: SVG browser filtering</li>
<li>Symbology: Interpolated line symbol layer type for vector
layers</li>
<li>Symbology: Trim the simple line symbol</li>
<li>Symbology: New “Embedded styling” renderer with OGR feature styles
support</li>
<li>Symbology: New shapes and cap styles for ellipse markers</li>
<li>Symbology: Set cap styles for simple markers</li>
<li>Symbology: Allow pen cap style to be set for ellipse marker symbol
layers</li>
<li>Symbology: Polygon rings <span class="citation"
data-cites="geometry_ring_num">@geometry_ring_num</span> variable</li>
<li>Labelling: Fill symbols for label background shields</li>
<li>Labelling: Blending mode settings for label callouts</li>
<li>Labelling: Anchor line labels by entire line</li>
<li>Labelling: Balloon callout corner radius</li>
<li>Labelling: Balloon (speech bubble) callouts</li>
<li>Labelling: Curved line callout style</li>
<li>Labelling: Highlight pinned callout start or end points</li>
<li>Labelling: Auto-creation of callout auxiliary fields</li>
<li>Labelling: Callout snapping</li>
<li>Labelling: Toggle label layers shortcut</li>
<li>Labelling: Data defined callout start and end points</li>
<li>Labelling: Allow callouts to be interactively moved using the Move
Label tool</li>
<li>Point Clouds: Support for remote datasets (EPT)</li>
<li>Print Layouts: “Convert to Static Text” option</li>
<li>Print Layouts: Improvement to XYZ layers previewed in map items</li>
<li>Expressions: length3D Function</li>
<li>Expressions: Extended array expression functions</li>
<li>Expressions: MIME Type expression function</li>
<li>Digitising: Select attributes from the largest geometry when
merging</li>
<li>Digitising: Streaming digitizing mode</li>
<li>Digitising: New “Line Endpoints” snapping option</li>
<li>Digitising: Select vertices by polygon</li>
<li>Data Management: Layer tree warning icon for layers with CRS
inaccuracies</li>
<li>Data Management: Basic support for dynamic CRS coordinate epoch</li>
<li>Data Management: Projection information improvements</li>
<li>Data Management: Datum ensemble CRS warnings</li>
<li>Data Management: Persist layer metadata in vector file exports</li>
<li>Data Management: Layer notes</li>
<li>Data Management: Automatically load .shp.xml metadata</li>
<li>Data Management: Automatically translate layer data from ESRI
Filegeodatabases to QGIS layer metadata</li>
<li>Data Management: Read field domains from datasets</li>
<li>Data Management: Allow loading GPKG layers with GEOMETRY type</li>
<li>Data Management: Offline editing support for string list and number
list field types</li>
<li>Forms and Widgets: Per-field usage of last values for newly created
features</li>
<li>Forms and Widgets: JSON View widget</li>
<li>Layer Legend: Vector “label” legend entries</li>
<li>Processing: Add option to save layer metadata to Package Layers
algorithm</li>
<li>Processing: Raster Layer Properties Algorithm</li>
<li>Processing: Improved rasterize operation with 3D support</li>
<li>Processing: Save selected option for Package Layers Algorithm</li>
<li>Processing: Log levels for processing context</li>
<li>Processing: Geometry snapper rework offers major speed boost</li>
<li>Processing: Add a last_value function to the aggregate
algorithm</li>
<li>Application and Project Options: Add global option to disable
monitoring of directories</li>
<li>Application and Project Options: APIs for export and import of XML
authentication configurations</li>
<li>Browser: Custom icon colors for folders in browser</li>
<li>Browser: OWS Group removed from the QGIS Browser</li>
<li>Data Providers: Add support for integer, real and integer64 list
data types in OGR</li>
<li>Data Providers: Extend vector layer read capabilities to other layer
types</li>
<li>QGIS Server: External layer opacity</li>
<li>QGIS Server: Configurable Service URL</li>
<li>Notable Fixes: Bug fixes by Even Rouault</li>
<li>Notable Fixes: Bug fixes by Alessandro Pasotti</li>
<li>Notable Fixes: Bug fixes by Paul Blottiere</li>
<li>Notable Fixes: Bug fixes by Denis Rouzaud</li>
<li>Notable Fixes: Bug fixes by Loïc Bartoletti</li>
<li>Notable Fixes: Bug fixes by Julien Cabieces</li>
<li>Notable Fixes: Bug fixes by Peter Petrik</li>
<li></li>
</ul>
<h1 id="whats-new-in-version-3.18-zürich">What’s new in Version 3.18
‘Zürich’?</h1>
<p>This release has following new features:</p>
<ul>
<li>General: QGIS 3.18 highlights (changelog)</li>
<li>User Interface: Hide derived attributes from the Identify
results</li>
<li>User Interface: Close all tabs at once from message logs
interface</li>
<li>User Interface: API for layer source widgets</li>
<li>User Interface: GUI for dynamic SVGs</li>
<li>User Interface: Zoom and pan to selection for multiple layers</li>
<li>User Interface: Zoom in/out by scrolling mouse wheel over map
overview panel</li>
<li>Accessibility: Improved color vision deficiency simulation</li>
<li>Accessibility: Rotation widget for the Georeferencer</li>
<li>Symbology: Data defined overall symbol opacity</li>
<li>Symbology: Open the style gallery from the style manager</li>
<li>Mesh: New mesh export algorithms</li>
<li>Mesh: Native export for mesh layers</li>
<li>Mesh: Mesh simplification for 3D</li>
<li>Mesh: Multiple native mesh processing algorithms</li>
<li>Rendering: “Merged feature” renderer for polygon and line
layers</li>
<li>Rendering: Smarter Map Redraws</li>
<li>3D Features: Eye dome lighting</li>
<li>3D Features: Data defined 3D material colors</li>
<li>3D Features: 3D Orthographic projection support</li>
<li>Point Clouds: Point Cloud Support</li>
<li>Point Clouds: Add point clouds to browser</li>
<li>Point Clouds: Untwine PDAL Provider Integration</li>
<li>Print Layouts: Gradient ramp based legends</li>
<li>Print Layouts: Color ramp legend improvements</li>
<li>Print Layouts: Dynamic text presets</li>
<li>Expressions: Optional formatting of UUID results</li>
<li>Expressions: Layer CRS variable for expressions</li>
<li>Expressions: Support for min, max, majority, sum, mean, and median
functions on numerical arrays</li>
<li>Expressions: Negative index for array_get function</li>
<li>Expressions: Add map_credits function</li>
<li>Digitizing: Select features context menu</li>
<li>Digitizing: Curve tracing settings added to UI</li>
<li>Digitizing: Feature scaling tool</li>
<li>Data Management: New export to spreadsheet algorithm</li>
<li>Data Management: Reproject coordinates in the Georeferencer</li>
<li>Data Management: Polymorphic relations/ Document management
system</li>
<li>Forms and Widgets: Soft and hard constraints in forms</li>
<li>Analysis Tools: Nominatim geocoder API</li>
<li>Processing: Allow expression for order fields in PointsToPath
algorithm</li>
<li>Processing: Override CRS for Clip Raster by extent output</li>
<li>Processing: Add “retain fields” algorithm</li>
<li>Processing: Reference common field parameter for multiple
layers</li>
<li>Processing: Extend import geotagged photos to include
exif_orientation</li>
<li>Processing: Export layer information algorithm</li>
<li>Processing: Cell stack percentile and percentrank algorithms</li>
<li>Processing: Points to lines processing algorithm</li>
<li>Application and Project Options: Hidden layers</li>
<li>Application and Project Options: Custom “Full Extent”
definition</li>
<li>Application and Project Options: Toggle network caching to
QgsNetworkAccessManager</li>
<li>Browser: Unify ArcGis Feature Service and ArcGIS Map Service
connections in browser</li>
<li>Browser: Allow browsing ArcGIS REST by content groups</li>
<li>Data Providers: Native DXF export algorithm</li>
<li>Data Providers: Additional geometry types for PostGIS Export</li>
<li>Data Providers: Improved network requests with GDAL</li>
<li>Data Providers: Read only generated fields</li>
<li>Data Providers: Improve MSSQL loading with predefined
parameters</li>
<li>Data Providers: Filter schemas for MS SQL</li>
<li>Data Providers: SAP HANA database support</li>
<li>Data Providers: Deprecate support for DB2</li>
<li>Data Providers: Oracle connection API</li>
<li>Data Providers: Add advanced options for raster data imports</li>
<li>QGIS Server: GetLegendGraphics Symbol Scale</li>
<li>QGIS Server: Drag and drop for WMS GetFeatureInfo response</li>
<li>Programmability: Run multiple items from command history dialog</li>
<li>Programmability: Enable or disable plugins from the command
line</li>
<li>Notable Fixes: Bug fixes by Alessandro Pasotti</li>
<li>Notable Fixes: Bug fixes by Peter Petrik</li>
<li>Notable Fixes: Bug fixes by Even Rouault</li>
<li>Notable Fixes: Bug fixes by Julien Cabieces</li>
<li>Notable Fixes: Bug fixes by Nyall Dawson</li>
<li></li>
</ul>
<h1 id="whats-new-in-version-3.16-hannover">What’s new in Version 3.16
‘Hannover’?</h1>
<p>This release has following new features:</p>
<ul>
<li>General: Add user groups easter egg</li>
<li>General: QGIS 3.16 Highlights (changelog)</li>
<li>Temporal: Ability to export temporal animation frames</li>
<li>Map Tools: Go-To locator</li>
<li>User Interface: Add context menu to map canvas</li>
<li>Symbology: Vector tile styling improvements</li>
<li>Symbology: Allow users to optionally specify the URL for the default
style on vector tile connections</li>
<li>Symbology: Allow data-defined offset for fill symbol layers</li>
<li>Symbology: Import MapBox GL JSON styles for vector tile layers</li>
<li>Symbology: Expose option to offset simple line dash patterns by a
preset amount</li>
<li>Symbology: Add options to dynamically tweak dash pattern in simple
line symbol layers</li>
<li>Symbology: Manage 3D symbols through style manager</li>
<li>Labeling: Add option to allow users to control the placement of
labels along line features</li>
<li>Labeling: Control anchor point for line labels</li>
<li>Diagrams: Render axis for stacked bar diagram</li>
<li>Mesh: In-memory mesh datasets with persistence</li>
<li>Mesh: Multi identify for mesh layer</li>
<li>Mesh: Virtual dataset groups for mesh layer</li>
<li>Mesh: Add export to QgsMesh method</li>
<li>Mesh: TIN Mesh creation</li>
<li>Rendering: Gamma correction filter for raster layers</li>
<li>3D Features: Allow 3D material texture files to be embedded in
style/project</li>
<li>3D Features: Shadow rendering</li>
<li>3D Features: Export 3D scenes</li>
<li>3D Features: Directional lighting support for QGIS 3D</li>
<li>3D Features: Texturing support for vector layer</li>
<li>3D Features: Enable embedded and remote 3D models for 3D point
symbols</li>
<li>3D Features: Add option to show light source origins</li>
<li>3D Features: Improvements for material handling</li>
<li>Print Layouts: Expose control over text format and alignment for
individual cells in manual text tables</li>
<li>Print Layouts: Use QgsTextRenderer to render attribute table
text</li>
<li>Print Layouts: Use QgsTextRenderer for drawing map grid text in
layouts</li>
<li>Print Layouts: Expose option to control PDF image compression method
when exporting layouts to PDF</li>
<li>Print Layouts: Add automatic clipping settings for atlas maps</li>
<li>Print Layouts: Add API to QgsMapSettings for specifying clipping
regions to apply while rendering maps</li>
<li>Print Layouts: Layout legend maximum marker size</li>
<li>Print Layouts: Allow cells in manual text tables to have expression
based contents</li>
<li>Print Layouts: Clip layout maps to shape</li>
<li>Print Layouts: Support for rotated ticks/annotation</li>
<li>Print Layouts: Add page offset expression for Y positions</li>
<li>Expressions: Add to_decimal() function to convert DMS to DD</li>
<li>Expressions: Add “main_angle” function to return the estimated main
angle of a geometry</li>
<li>Expressions: Port refFunctions to core</li>
<li>Digitizing: Add option to calculate bearing based on travel
direction</li>
<li>Digitizing: Digitizing and splitting curved features</li>
<li>Data Management: Rescale raster algorithm for Processing</li>
<li>Forms and Widgets: Multiple widgets for a single relation</li>
<li>Forms and Widgets: Show related features in identify results
tree</li>
<li>Forms and Widgets: Filter expressions in relation reference
widget</li>
<li>Analysis Tools: Add project load profile times to debugging tools
dock</li>
<li>Analysis Tools: New Cell statistics algorithm</li>
<li>Analysis Tools: New Equal to frequency algorithm</li>
<li>Analysis Tools: New Greater than frequency algorithm</li>
<li>Analysis Tools: New Less than frequency algorithm</li>
<li>Analysis Tools: New Lowest position in raster stack algorithm</li>
<li>Analysis Tools: New Highest position in raster stack algorithm</li>
<li>Analysis Tools: New “Highest/Lowest position in raster stack”
algorithms</li>
<li>Processing: Add help string for parameters</li>
<li>Processing: New “Align points to features” algorithm</li>
<li>Processing: Add modeler algorithm to create directories</li>
<li>Processing: Add modeler algorithm to set a project expression
variable</li>
<li>Processing: Add processing algorithms to export a print layout as
PDF/image</li>
<li>Processing: Add a save features to file algorithm</li>
<li>Processing: Export layout atlas as PDF algorithm</li>
<li>Processing: New “Flatten Relationship” algorithm</li>
<li>Processing: Export atlas layout as image algorithm</li>
<li>Processing: Load processing results to layer group</li>
<li>Processing: Add zonal statistics algorithm which creates new
output</li>
<li>Processing: Add geometry processing parameter</li>
<li>Processing: Add an interface to determine whether it is safe for the
application to exit</li>
<li>Application and Project Options: List available GDAL vector
drivers</li>
<li>Application and Project Options: Detect GRASS installation folder on
MacOS</li>
<li>Browser: Expose fields in the Browser</li>
<li>Data Providers: ArcGIS Vector Tile Service connections</li>
<li>Data Providers: Trust layer metadata propagation</li>
<li>Data Providers: Add support for virtual columns in Oracle</li>
<li>Data Providers: Add advanced options for data imports</li>
<li>QGIS Server: QGIS Server WFS3 API Sorting</li>
<li>QGIS Server: QGIS Server landing page</li>
<li>QGIS Server: Environment variable to disable GetPrint and to not
load layouts</li>
<li>QGIS Server: Environment variable to trust layer metadata with
server settings</li>
<li>Notable Fixes: Bug fixes by Even Rouault</li>
<li>Notable Fixes: Bug fixes by Alessandro Pasotti</li>
<li>Notable Fixes: Bug fixes by Peter Petrik</li>
<li>Notable Fixes: Bug fixes by Paul Blottiere</li>
<li>Notable Fixes: Bug fixes by Matthias Kuhn</li>
<li>Notable Fixes: Bug fixes by Julien Cabieces</li>
<li>Notable Fixes: Bug fixes by Denis Rouzaud</li>
<li>Notable Fixes: Bug fixes by Olivier Dalang</li>
<li>Notable Fixes: Bug fixes by Nyall Dawson</li>
<li></li>
</ul>
<h1 id="whats-new-in-version-3.14-pi">What’s new in Version 3.14
‘Pi’?</h1>
<p>This release has following new features:</p>
<ul>
<li>General: New grid decoration annotations font settings</li>
<li>General: QGIS 3.14 Highlights (changelog)</li>
<li>Temporal: Cumulative temporal range setting in temporal
controller</li>
<li>Temporal: Add a new “Redraw Layer Only” mode for temporal vector
layers</li>
<li>Temporal: Add basic temporal handling support for vector layers</li>
<li>Temporal: Postgres raster temporal API support</li>
<li>Temporal: QGIS Project temporal settings</li>
<li>Temporal: WMS-T layers temporal constraints support</li>
<li>Temporal: Temporal API</li>
<li>Map Tools: Identify Tool Support for QGIS vector tile layers.</li>
<li>Map Tools: Show a menu next to scale widget buttons, to allow
setting the widget directly to a scale from a print layout map</li>
<li>Map Tools: Add tool button to “Deselect Features from the Current
Active layer”</li>
<li>User Interface: Allow the drag and drop of a layer across several
QGIS instances</li>
<li>User Interface: Open attribute tables as tabs</li>
<li>Symbology: Raster Layer Contour Renderer</li>
<li>Symbology: Add percentage size unit for Raster Image Marker and
Raster fill layers symbology.</li>
<li>Symbology: Add data-defined property to font family/style for font
markers</li>
<li>Symbology: New font style setting for font markers</li>
<li>Labeling: Respect HTML colors in labels</li>
<li>Labeling: Automatic placement of labels outside polygons</li>
<li>Labeling: Vector tile layer - part 4 (labeling)</li>
<li>Labeling: Add control over anchor point for callout on label</li>
<li>Mesh: Use only specified dataset group</li>
<li>Mesh: Scalar color settings depending on classification</li>
<li>Mesh: Snap on mesh elements</li>
<li>Mesh: 1D mesh width/color varying</li>
<li>Mesh: Support for multiple mesh (since MDAL 0.5.91)</li>
<li>Mesh: Plug mesh layer to QGIS temporal framework</li>
<li>Mesh: Resampling from vertex values to face values</li>
<li>Mesh: Coloring mesh vector dataset with color ramp shader</li>
<li>Mesh: Save style for mesh layer</li>
<li>Mesh: Mesh 1D Renderer</li>
<li>Mesh: Mesh simplification</li>
<li>3D Features: Arrows for 3D mesh layer dataset rendering</li>
<li>Print Layouts: Temporal settings for layout map items</li>
<li>Print Layouts: Allow sorting attribute table by field not listed in
the table</li>
<li>Print Layouts: Expose control over layer legend splitting behavior
on a layer-by-layer basis</li>
<li>Print Layouts: Allow customization of division and subdivision
symbols as distinct from scalebar tick horizontal symbol</li>
<li>Print Layouts: Allow overriding the default symbol for a legend
node</li>
<li>Print Layouts: Allow placing manual column breaks in legends</li>
<li>Print Layouts: Add subdivisions in ticks scalebar right
segments</li>
<li>Print Layouts: Allow overriding the legend patch size on a per-item
basis</li>
<li>Print Layouts: Allow control over the horizontal spacing before
legend group/subgroup/symbols</li>
<li>Print Layouts: Manage legend patch shapes through style manager</li>
<li>Print Layouts: Allow configuring legend patch shapes by
double-clicking on legend items</li>
<li>Print Layouts: Support pasting pictures directly into layouts</li>
<li>Print Layouts: Allow marker items to sync rotation with maps</li>
<li>Print Layouts: New item type for marker symbols</li>
<li>Print Layouts: Add import content from clipboard for fixed table
items</li>
<li>Print Layouts: Add numeric formatter “fraction” style</li>
<li>Print Layouts: Add “stepped line” and “hollow” scalebar styles</li>
<li>Print Layouts: Allow scalebar line style to be set using standard
QGIS line symbols</li>
<li>Print Layouts: Rework picture item UI and behavior</li>
<li>Print Layouts: Make CRS controlable by a variable</li>
<li>Expressions: New expressions</li>
<li>Expressions: Feature browser for preview in expression builder</li>
<li>Expressions: Ability to remove custom functions</li>
<li>Expressions: Add ability to edit, import and export user
expressions</li>
<li>Digitizing: Dedicated avoid geometry intersection/overlap mode</li>
<li>Digitizing: New snapping modes: Centroid and middle of a segment
(midpoint)</li>
<li>Digitizing: Snapping to the currently digitized feature</li>
<li>Digitizing: Tracing now supports curved geometries</li>
<li>Forms and Widgets: Allow editing of links in file widget</li>
<li>Forms and Widgets: Expression controlled labels (aliases)</li>
<li>Forms and Widgets: Add description to value relation widget</li>
<li>Forms and Widgets: New database table name widget</li>
<li>Forms and Widgets: Get current parent form values in child
forms</li>
<li>Forms and Widgets: Relation widget: add checkbox to hide save child
edits button</li>
<li>Forms and Widgets: Relation widget force suppress popup</li>
<li>Layer Legend: Added move to bottom in layertreeview context
menu</li>
<li>Layer Legend: Make Add Group button act as Group Selected if
selected layers &gt;= 2</li>
<li>Layer Legend: Allow renaming of the current map theme</li>
<li>Layer Legend: Turn on/off ALL selected layers with “Space”
button</li>
<li>Analysis Tools: Network logger - more functionality</li>
<li>Analysis Tools: Inbuilt network logging tool</li>
<li>Processing: Collection of random raster generation algorithms</li>
<li>Processing: Vector tile layer - part 8 (writer in Processing)</li>
<li>Processing: New modeler algorithm for creating conditional
branches</li>
<li>Processing: Allow reordering model inputs</li>
<li>Processing: Defer model validation</li>
<li>Processing: Added support for different raster data types in Create
constant raster layer algorithm</li>
<li>Processing: Added Round raster algorithm</li>
<li>Processing: Allow copying/cut/paste of model components</li>
<li>Processing: Allow appending processing results to existing
layers</li>
<li>Processing: Allow creation of group boxes in models</li>
<li>Processing: Processing: show input and output values for children
after running model through designer</li>
<li>Processing: Add “Save Log to File” algorithm for models</li>
<li>Processing: Allow running algorithms directly on database (and other
non-disk) sources without loading into projects first</li>
<li>Processing: Expose per-feature-source advanced options for
processing inputs</li>
<li>Processing: Enable snapping to grid for models in designer</li>
<li>Processing: Add “filter by geometry type” and “filter by layer type”
algorithms to processing</li>
<li>Processing: “Remove Null Geometries” algorithm can also remove EMPTY
geometries</li>
<li>Processing: Add multi-selection handling to model designer,
interactive resizing</li>
<li>Processing: Add undo/redo support to model designer</li>
<li>Processing: Remember parameter values between model designer
runs</li>
<li>Processing: Comments in Processing Models</li>
<li>Processing: New standalone console tool for running processing
algorithms</li>
<li>Processing: New parameter type for datetime (or date, or time)
values</li>
<li>Processing: Add algorithms for raising warnings and exceptions from
models</li>
<li>Processing: Add Fill NoData cells algorithm</li>
<li>Processing: Various fixes for Processing</li>
<li>Processing: Show “template layer” field constraints in the “Refactor
Fields” algorithm interface</li>
<li>Processing: New convert to curves algorithm</li>
<li>Application and Project Options: Add <span class="citation"
data-cites="layers">@layers</span>, <span class="citation"
data-cites="layer_ids">@layer_ids</span> project scope variables</li>
<li>Data Providers: Allow adding attributes in the New Scratch Layer
dialog</li>
<li>Data Providers: Allow creating geometryless DBF tables from the New
Shapefile dialog</li>
<li>Data Providers: Allow filtering WM(T)S list in source dialog</li>
<li>Data Providers: Add vector tiles to Datasource manager dialog and
Layers menu</li>
<li>Data Providers: Import/export for ArcGIS Map and FeatureServer
connections</li>
<li>Data Providers: Add XYZ tiles to Datasource manager dialog and
Layers menu</li>
<li>Data Providers: Spatialite transaction group</li>
<li>Data Providers: Allowing saving outputs direct to more database
formats (and other nice stuff)</li>
<li>Data Providers: Add dedicated parameter type for database
connections</li>
<li>Data Providers: PG: expose foreign tables</li>
<li>Data Providers: PG raster expose set filter to app</li>
<li>Data Providers: Postgres: save features into tables with generated
fields</li>
<li>Data Providers: Date and DateTime field types support added to
Spatialite and Delimited Text providers</li>
<li>QGIS Server: Add QGIS_SERVER_IGNORE_BAD_LAYERS config option</li>
<li>QGIS Server: Server project settings, add ‘expanded’ attribute</li>
<li>QGIS Server: Add DXF server export params NO_MTEXT and FORCE_2D</li>
<li>QGIS Server: WMS project validator</li>
<li>QGIS Server: Webp</li>
<li>Plugins: Allow plugins to register custom “Project Open”
handlers</li>
<li>Plugins: Allow users to install stable or experimental plugins</li>
<li>Programmability: Support for adding dock widgets as tabs:
addTabifyDockWidget()</li>
<li>Programmability: Port output parameter wrappers to new API</li>
<li>Programmability: Port last remaining input parameters to new
API</li>
<li>Programmability: Port Feature Source, Raster, Vector and Mesh Layer
parameters to new API</li>
<li>Programmability: Vector tile layer - part 1</li>
<li>Programmability: Port processing extent parameter to new api, many
other improvements</li>
<li>Programmability: Interface and API for unified development/debugging
tools</li>
<li>Programmability: Data type support for
QgsProcessingParameterMapLayer</li>
<li>Programmability: Add processing parameter types for database schema
and table name</li>
<li>Notable Fixes: Bug fixes by Alessandro Pasotti</li>
<li>Notable Fixes: Bug fixes by Loïc Bartoletti</li>
<li>Notable Fixes: Bug fixes by Even Rouault</li>
<li>Notable Fixes: Bug fixes by Paul Blottiere</li>
<li>Notable Fixes: Bug fixes by Julien Cabieces</li>
<li>Notable Fixes: Bug fixes by Bertrand Rix</li>
<li>Notable Fixes: Bug fixes by Sebastien Peillet</li>
<li>Notable Fixes: Bug fixes by Alexander Bruy</li>
<li>Notable Fixes: Bug fixes by Nyall Dawson</li>
<li>Notable Fixes: Bug fixes by Denis Rouzaud</li>
<li></li>
</ul>
<h1 id="whats-new-in-version-3.12-bucurești">What’s new in Version 3.12
‘București’?</h1>
<p>This release has following new features:</p>
<ul>
<li>User Interface: Deselecting tables when adding PostgreSQL data after
add button is clicked.</li>
<li>Symbology: Vector Trace Animation and Streamlines for Mesh
Layer</li>
<li>Rendering: Play/Stop Buttons for Mesh Layer Playback</li>
<li>Rendering: On the Fly Resampling of Data Defined on Faces to
Vertices (Mesh Layer)</li>
<li>Rendering: Support for Mesh Reference Time</li>
<li>3D Features: 3D Mesh Layer Terrain Renderer</li>
<li>3D Features: Harmonize 3D map view widget with 2D ones to display
the map theme drop-down menu</li>
<li>Expressions: Search Tags for Functions</li>
<li>Expressions: List Referenced Layer Values</li>
<li>Expressions: New functions to check if a geometry is empty or
null</li>
<li>Expressions: Hash expressions</li>
<li>Digitizing: Edit Invalid Attributes on Copy/Paste to Another
Layer</li>
<li>Digitizing: Snapping cache parallelization</li>
<li>Data Management: DXF Export Improvements</li>
<li>Forms and Widgets: Create geometric feature from the relation
editor</li>
<li>Forms and Widgets: Improve feature selection dialog</li>
<li>Analysis Tools: Smooth Export of the Contours from Mesh Layer</li>
<li>Analysis Tools: Support of Datasets Defined on Faces in QGIS Mesh
Calculator</li>
<li>Processing: Package new layers to existing GeoPackage</li>
<li>Browser: Customization of the items shown in browser</li>
<li>Data Providers: Changed WMTS layer collection icon</li>
<li>Data Providers: Added Metadata URL property in the layer metadata
tab for WMS / WMTS and WCS services</li>
<li>Data Providers: Fetch and show dimensions metadata for a WMS layer
metadata</li>
<li>Data Providers: Added refresh action to OGC services entries</li>
<li>Data Providers: 3d Stacked Meshes</li>
<li>Data Providers: Oracle curve type edition support</li>
<li>Programmability: Exposes shape digitizing methods to
QgisInterface</li>
<li>Notable Fixes: Bug fixes by Stephen Knox</li>
</ul>
<h1 id="whats-new-in-version-3.10-a-coruña">What’s new in Version 3.10
‘A Coruña’?</h1>
<p>This release has following new features:</p>
<ul>
<li>Map Tools: Show 3D length for LineStringZ features in identify
derived attributes</li>
<li>Symbology: Customizable default resampling settings for newly-added
raster layers</li>
<li>Symbology: Add “extract symbols” action to QGS/QGZ project file
context menu in browser</li>
<li>Symbology: Improved copy/paste of symbols</li>
<li>Symbology: “Center of segment” placement mode for marker and hash
line symbol layers</li>
<li>Symbology: Allow array values as a valid result for data defined
offset</li>
<li>Labeling: Allow creation and editing of text formats and label
settings through style manager dialog</li>
<li>Labeling: New text “background” setting for marker symbol
backgrounds</li>
<li>Labeling: Callouts support</li>
<li>Labeling: Add multiline alignment property to the change label
tool</li>
<li>Labeling: Allow display of unplaced labels</li>
<li>Labeling: Add “overrun distance” setting for line labels</li>
<li>Labeling: Allow data defined control over “label every part of
multipart features” setting</li>
<li>Labeling: Expose “label all parts” option via label properties
tool</li>
<li>Labeling: Support vertical text orientation</li>
<li>Labeling: Expose font kerning setting</li>
<li>Rendering: Allow rendering raster layers outside the reported
extent</li>
<li>Rendering: Add option to georeference PDFs and TIFs to save map
canvas as image/PDF</li>
<li>Rendering: new map canvas image decoration</li>
<li>Rendering: logarithmic scale method for graduated renderer</li>
<li>3D Features: Measurement tool in 3D map view</li>
<li>3D Features: Billboard Rendering for Points</li>
<li>3D Features: 3D On-Screen Navigation</li>
<li>Print Layouts: Right-to-left arrangement for legends</li>
<li>Print Layouts: Control margin under legend group and subgroup
headings</li>
<li>Print Layouts: Allow data defined settings in text formats</li>
<li>Print Layouts: <span class="citation"
data-cites="scale_value">@scale_value</span> variable</li>
<li>Print Layouts: Add above/below segments placement option for
scalebar labels</li>
<li>Print Layouts: Horizontal placement option for scale bar labels</li>
<li>Print Layouts: Add option to simplify PDF or SVG exports</li>
<li>Print Layouts: Improved SVG layered exports</li>
<li>Print Layouts: Add an indicator in the status bar while a map redraw
is occurring in the background</li>
<li>Print Layouts: GeoPDF Export</li>
<li>Print Layouts: Data defined control over grid properties</li>
<li>Print Layouts: “fit segment size” mode for map grid interval</li>
<li>Print Layouts: layout map item extent to an existing bookmark</li>
<li>Expressions: New expression functions</li>
<li>Digitizing: GPS timestamp support</li>
<li>Data Management: Composite Foreign Keys</li>
<li>Data Management: Add circular data dependencies</li>
<li>Analysis Tools: Stored filter expressions</li>
<li>Analysis Tools: New operator for Raster Calculator</li>
<li>Processing: new algorithm point to layer</li>
<li>Processing: allow defining model parameters as advanced</li>
<li>Processing: All GDAL based algorithms now support free-form
“additional parameters”</li>
<li>Processing: Add metatile size parameter to XYZ tiles algorithm</li>
<li>Processing: New parameter type for colors</li>
<li>Processing: New algorithm “Create style database from project”</li>
<li>Processing: Allow file filter and default value to be set for
file/folder inputs in models</li>
<li>Processing: New algorithm “Combine style databases”</li>
<li>Processing: Generate XYZ tiles using multiple threads</li>
<li>Processing: New algorithms for exporting and importing to/from map
layers</li>
<li>Processing: New algorithm “Split features by character”</li>
<li>Processing: New algorithm Climb Along Line</li>
<li>Processing: Port Create Grid algorithm to C++</li>
<li>General: Show news items on welcome page</li>
<li>General: Add a separate unit choice for milliradians (SI definition)
vs mil (NATO definition)</li>
<li>General: Enable widget filtering in Interface Customization
dialog</li>
<li>General: Improved auto-fix broken layers</li>
<li>General: Bookmark Revamp</li>
<li>General: “Reselect Features” action in Edit -&gt; Select menu</li>
<li>General: Parallelize snap index build</li>
<li>Data Providers: Handle read-write support for .shz and .shp.zip</li>
<li>Data Providers: oracle provider: add support for auth manager</li>
<li>Data Providers: Improved PostGIS raster support</li>
<li>Data Providers: Oracle - Database transaction support</li>
<li>Data Providers: Add support for z/m dimensions to delimited text
layers</li>
<li>Data Providers: Static data providers</li>
<li>QGIS Server: Using SVG in QGIS Server</li>
<li>QGIS Server: WMS dimension</li>
<li>QGIS Server: Server OAPIF (aka WFS3) support</li>
<li>Programmability: New class QgsBookmarkManager</li>
<li>Programmability: New API for provider database connections</li>
</ul>
<h1 id="whats-new-in-version-3.8-zanzibar">What’s new in Version 3.8
‘Zanzibar’?</h1>
<p>This release has following new features:</p>
<ul>
<li>Expressions: Add order by support to expression aggregate and
concatenation functions</li>
<li>Expressions: File Information</li>
<li>User Interface: Save to Template Button</li>
<li>Symbology: Allow strings for font markers</li>
<li>Symbology: Offset setting for point pattern fill symbol layer</li>
<li>Symbology: Average line angles for marker and hashed line</li>
<li>Digitizing: Floating widget for advanced input next to cursor</li>
<li>Digitizing: Chanied add vertex at endpoint</li>
<li>Forms and Widgets: Allow browsing feature list</li>
<li>Analysis Tools: New aggregate method: concatenate_unique</li>
<li>Processing: Add “Save layer styles into GeoPackage” option for
Package Layers algorithm</li>
<li>Processing: Overlap Analysis</li>
<li>Processing: Allow rounding values in ExtentFromLayer</li>
<li>Processing: New options to autofill batch processing dialog</li>
<li>Processing: Generate raster XYZ tiles</li>
<li>Processing: Join attributes by nearest</li>
<li>QGIS Server: Allow configuring size for GetLegendGraphics</li>
<li>Programmability: Add REGEXP SQL syntax support to spatialite
provider and python connections</li>
<li>Notable Fixes: Support for curves in DXF export</li>
<li>3D Features: Wide lines and polygon edge highlighting</li>
<li>3D Features: Export all frames from QGIS 3d animations as
images</li>
<li>3D Features: Terrain generation from online source</li>
<li>3D Features: Configuration of field of view angle of camera</li>
</ul>
<h1 id="whats-new-in-version-3.6.0-noosa">What’s new in Version 3.6.0
‘Noosa’?</h1>
<p>This release has following new features:</p>
<ul>
<li>Map Tools: Title label decoration</li>
<li>Map Tools: Top/bottom centering placement for decoration items</li>
<li>Map Tools: Vertex tool fixes and improvements</li>
<li>Map Tools: Identify tool supports mesh layers</li>
<li>Expressions: New Expression Functions</li>
<li>Expressions: Square brackets to easily access map array
elements</li>
<li>Expressions: New map expression variables</li>
<li>User Interface: A new grayscale theme, “blend of gray”</li>
<li>User Interface: Multiline selections and editing in code/expression
editors</li>
<li>Symbology: Better handling of .XML style libraries</li>
<li>Symbology: Optionally force right-hand-rule during polygon symbol
rendering</li>
<li>Symbology: Option for simple lines and marker lines to only render
exterior ring or interior rings</li>
<li>Symbology: Raster image marker</li>
<li>Symbology: Raster fill can have images set to remote URLs or
embedded images</li>
<li>Symbology: Use represention values for classified renderers</li>
<li>Symbology: Option to merge categories in categorized renderer</li>
<li>Symbology: Show Project Colors in color bound data defined
buttons</li>
<li>Symbology: Style manager dialog improvements</li>
<li>Digitizing: Georeferencer enhancements</li>
<li>Digitizing: New option to avoid minimizing georeferencer when adding
points</li>
<li>Data Management: Comment option in db manager</li>
<li>Forms and Widgets: New form widget for binary (blob) fields</li>
<li>Map Composer: Grid frame improvements</li>
<li>Map Composer: Improved handling of text and label export</li>
<li>Map Composer: Map labeling improvements</li>
<li>Map Composer: Rework of map item extent/scale shortcuts</li>
<li>Map Composer: Layout items can “block” map labels</li>
<li>Map Composer: Warnings on exports</li>
<li>Map Composer: Control over stacking position of map overview
extents</li>
<li>Map Composer: New expression variables for legend items</li>
<li>Map Composer: Expressions inside legend item text</li>
<li>Analysis Tools: Hardware acceleration for raster calculator</li>
<li>Processing: New algorithm “Remove duplicates by attribute”</li>
<li>Processing: Explode HStore algorithm</li>
<li>Processing: Force right-hand-rule</li>
<li>Processing: Extract Binary Field algorithm</li>
<li>Processing: Split Lines by Maximum Length algorithm</li>
<li>Processing: New parameter type for authentication config</li>
<li>Processing: resampling and format options in the gdaladdo
algorithm</li>
<li>Processing: Raster zonal stats algorithm</li>
<li>Processing: Extract Z values and Extract M values algorithms</li>
<li>Processing: Geodesic line split at antimeridian algorithm</li>
<li>Processing: Geodesic mode for “Join by Lines (Hub lines)”
algorithm</li>
<li>Processing: Raster Surface Volume algorithm</li>
<li>Processing: Resurrected model to Python script functionality</li>
<li>Application and Project Options: Delete settings from the Advanced
tab in options</li>
<li>Browser: Add “export to file” options for raster and vector layers
within the browser</li>
<li>Browser: Native file/folder properties</li>
<li>Browser: Preview layers and attributes</li>
<li>Browser: Explore QGS/QGZ project files in the browser</li>
<li>Browser: Directly Create Geopackage and Shapefiles</li>
<li>Browser: Open Terminal at Path</li>
<li>General: Improved “missing layer” handling on project load</li>
<li>General: Optional setting for disabling version checks</li>
<li>General: Add a toggle action to vector layer legend items</li>
<li>Data Providers: Open service info for ArcGIS Feature Server
layers</li>
<li>Data Providers: Binary blob support for OGR providers</li>
<li>Data Providers: ArcGIS Feature Server picture marker and picture
fill support</li>
<li>Data Providers: ArcGIS Feature Server labeling support</li>
<li>Data Providers: Boolean and binary field support for memory
layers</li>
<li>Data Providers: JSON Support for GeoPackage</li>
<li>Data Providers: Postgres provider: save primary key selection</li>
<li>QGIS Server: Possibility to set ATLAS_PK in GetPrint request to
print atlas sheet(s)</li>
<li>QGIS Server: WMTS tile matrices configuration</li>
<li>Programmability: New class QgsExifTools</li>
<li>Programmability: Iterate over parts of a QgsGeometry</li>
<li>Programmability: Improved QgsLineString PyQGIS API</li>
<li>Programmability: PyQGIS Geometry Collection API improvements</li>
<li>Programmability: Easier Processing algorithm creation via <span
class="citation" data-cites="alg">@alg</span> decorator</li>
<li>Programmability: Blocking (non-async) network requests</li>
<li>Programmability: Custom validity checks on layout exports</li>
<li>Programmability: API for calculating Geodesic lines</li>
<li>3D Features: Terrain shading</li>
<li>3D Features: Configuration of lights in 3D map scenes</li>
<li>3D Features: Rule-based 3D renderer</li>
</ul>
<h1 id="whats-new-in-version-3.4-ltr-madeira">What’s new in Version
3.4-LTR ‘Madeira’?</h1>
<p>This release has following new features:</p>
<ul>
<li>Expressions: New expression functions and variables</li>
<li>Expressions: Code completion for expression builder</li>
<li>User Interface: Auto selection of exported files in file
manager</li>
<li>User Interface: New “Open Directory” option for disabled welcome
page projects</li>
<li>User Interface: UX Improvements for Temporary Scratch Layers</li>
<li>User Interface: Task manager improvements</li>
<li>User Interface: Hyperlinks to local vector &amp; raster datasets in
the information panel</li>
<li>User Interface: Style manager improvements</li>
<li>User Interface: Polished browser panel interface and experience</li>
<li>User Interface: QML chart and drawings widget</li>
<li>Symbology: Mesh layer styling</li>
<li>Symbology: Classify symmetric in graduated renderer</li>
<li>Digitizing: GPS tracking improvements</li>
<li>Digitizing: More angle choices in advanced digitizing dock</li>
<li>Digitizing: Vertex tool can work on the current layer only</li>
<li>Digitizing: Add reverse line maptools</li>
<li>Digitizing: Geometry Precision</li>
<li>Digitizing: Automatically remove duplicate nodes</li>
<li>Digitizing: Check for geometry validity</li>
<li>Digitizing: Topology checks while editing</li>
<li>Data Management: Translation of QGIS projects</li>
<li>Data Management: Switch Attribute Table dock mode on demand</li>
<li>Data Management: New locator filter to search across all layers</li>
<li>Data Management: Non-removable (required) layers highlighted in
layer tree</li>
<li>Data Management: Append raster layer to an existing Geopackage</li>
<li>Map Composer: 3d map items</li>
<li>Processing: Edit in place</li>
<li>Processing: Store models inside project</li>
<li>Processing: Sample Raster Values</li>
<li>Processing: New ‘Raster pixels to polygons’ algorithm</li>
<li>Processing: K Means clustering algorithm</li>
<li>Processing: dbscan spatial clustering algorithm</li>
<li>Processing: Improved algorithms</li>
<li>Processing: Filter Vertices by M and Filter Vertices by Z
algorithms</li>
<li>Processing: “Array of Translated Features” algorithm</li>
<li>Processing: “Array of offset (parallel) lines” algorithm</li>
<li>Processing: Choice of units for non degree/unknown distances</li>
<li>Processing: “Drape features to z/m” algorithms</li>
<li>Processing: “Raster pixels to points” algorithm</li>
<li>Processing: Line substring algorithm</li>
<li>Processing: “Interpolate point on line” algorithm</li>
<li>Processing: k-neighbour concave hull</li>
<li>Processing: Python scripts which implement algorithms now execute
the algorithm on drag and drop and browser double-click</li>
<li>Processing: New GDAL’s rearrange band algorithm</li>
<li>Processing: “Precalculated” values for model algorithm
parameters</li>
<li>Processing: “Categorize a layer using a style XML file”
algorithm</li>
<li>General: Flatpak</li>
<li>General: SVG files can be embedded in projects and symbols</li>
<li>General: OpenCL based acceleration</li>
<li>Data Providers: OAuth2 authentication method plugin</li>
<li>Data Providers: Mesh layer: New mesh layer format support</li>
<li>Data Providers: Mesh layer: add function to identify value on mesh
layers</li>
<li>Data Providers: Mesh layer: allow choosing different vector and
scalar dataset</li>
<li>Data Providers: Mesh layer: allow render vectors/arrows on the
user-defined grid</li>
<li>Data Providers: JSON/JSONB Type support</li>
<li>Data Providers: ESRI Token Authentication support</li>
<li>Data Providers: SQL Server - Invalid geometry handling</li>
<li>QGIS Server: Server Cache can be manage by plugins</li>
<li>QGIS Server: WMTS 1.0.0 support</li>
<li>QGIS Server: Add ability to define min. scale for WMTS</li>
<li>QGIS Server: Support QGIS Server logs to stderr</li>
<li>Plugins: Support for encrypted zips in the Plugin Manager</li>
<li>Plugins: Offline Editing GeoPackage</li>
<li>Programmability: QgsSpatialIndexKDBush</li>
<li>Programmability: QgsRasterDataProvider::sample method for efficient
sampling of rasters at a given point</li>
<li>Programmability: New geometry API call to return a curve
substring</li>
<li>Programmability: sip Module API Changes</li>
<li>3D Features: Improved navigation</li>
<li>3D Features: Animation</li>
<li>3D Features: Simple rendering of 3D linestrings</li>
<li>3D Features: Identification map tool for 3D views</li>
</ul>
<h1 id="whats-new-in-version-3.2-bonn">What’s new in Version 3.2
‘Bonn’?</h1>
<p>This release has following new features:</p>
<ul>
<li>Expressions: New expression functions</li>
<li>Expressions: More helpful expression builder</li>
<li>Map Tools: Simplify map tool can now also smooth features</li>
<li>Map Tools: Identify Tool with extra options</li>
<li>Map Tools: Store also expanded/collapsed state of nodes in map
Themes</li>
<li>Map Tools: Auto “Zoom to Selection” mode for new map views</li>
<li>Map Tools: Choice of simplification method for simplify map
tool</li>
<li>Map Tools: add zoom to related feature in forms</li>
<li>Map Tools: Cartesian areas/lengths/perimeters in identify
results</li>
<li>User Interface: Layers panel: indicators for filtered map
layers</li>
<li>User Interface: Allow customizing prefix of locator filters</li>
<li>User Interface: Opening of vector and raster stored on HTTP(S), FTP,
or cloud services</li>
<li>User Interface: Quick calculator in locator search bar</li>
<li>User Interface: Shortcuts for toggling panels</li>
<li>User Interface: Bookmark searching in locator</li>
<li>User Interface: Close and Revert Project actions</li>
<li>User Interface: Unsaved changes indicator in title bar</li>
<li>User Interface: Configurable map tips delay</li>
<li>User Interface: Move layer or group to top of layer panel</li>
<li>User Interface: Copy statistics panel content to clipboard
button</li>
<li>User Interface: Search Settings, Options, and Project Properties
pages from locator</li>
<li>User Interface: Indicators for embedded layers and groups</li>
<li>Symbology: Nicer colors for new layers</li>
<li>Rendering: Improved map Copyright decoration</li>
<li>Rendering: Main window scale bar font size and family can be
customized</li>
<li>Rendering: Custom SVG path and size for the north arrow
decoration</li>
<li>Data Management: Refresh a materialized view</li>
<li>Data Management: Z and M support for offline editing</li>
<li>Data Management: Metadata for QGIS projects</li>
<li>Forms and Widgets: Multi-column layout for multiselect value
relation widget</li>
<li>Forms and Widgets: Allow using a URL for custom attribute forms (UI
file)</li>
<li>Forms and Widgets: Drill-down (cascading) forms</li>
<li>Layer Legend: Optional text on top of symbols for vector layers</li>
<li>Layer Legend: Copy&amp;Paste Group/Layers from a QGIS project to
another.</li>
<li>Map Composer: Data defined table source for attribute table
items</li>
<li>Map Composer: Project metadata embedded in layout exports</li>
<li>Map Composer: Better formatting for scalebar text</li>
<li>Processing: Improved ‘Join by attribute table’ algorithm</li>
<li>Processing: Load script from template</li>
<li>Processing: Feature filter algorithm for processing models</li>
<li>Processing: Zonal histogram</li>
<li>Processing: Port Union, Difference and Intersection algorithms to
C++</li>
<li>Processing: ‘Project points (Cartesian)’ algorithm</li>
<li>Processing: Dynamic parameter values for more algorithms</li>
<li>Processing: Multi-ring buffer (constant distance) algorithm</li>
<li>Processing: New “segmentize” algorithms</li>
<li>Processing: Option to create points on all polygon parts</li>
<li>Processing: Rotate Features algorithm</li>
<li>Processing: Line sinuosity in “Add Geometry Attributes”</li>
<li>Processing: Import geotagged photos</li>
<li>Processing: Swap x/y coordinate values algorithm</li>
<li>Processing: Sort order option for “Add Incremental Field”</li>
<li>Processing: Indicator for distance parameter units</li>
<li>Processing: Algorithm log can be saved/cleared/copied</li>
<li>Processing: Wedge buffer algorithm</li>
<li>Processing: Variable width buffers</li>
<li>Processing: Reclassify raster algorithms</li>
<li>Application and Project Options: Mandatory layers in project</li>
<li>Application and Project Options: Saving and loading projects in
Postgresql database</li>
<li>Browser: Save/Load connections for XYZ Tiles</li>
<li>Browser: Project home path can be manually set</li>
<li>General: New zipped project file format .qgz is now the default
format</li>
<li>General: Filtering for field values in Query Builder</li>
<li>General: FULL screen Map via Ctrl-Shift-Tab</li>
<li>Data Providers: Support for mesh layer</li>
<li>Data Providers: Automatically set default style for layers for
ArcGIS Feature Server layers</li>
<li>Data Providers: Faster Oracle queries</li>
<li>Data Providers: Restrict table list for a Oracle database connection
to a preset schema</li>
<li>Data Providers: Read only support for curved Oracle geometries</li>
<li>Plugins: Adding query history in DB Manager</li>
<li>Plugins: DB Manager SQL execution in background</li>
</ul>
<h1 id="whats-new-in-version-3.0-girona">What’s new in Version 3.0
‘Girona’?</h1>
<p>This release has following new features:</p>
<ul>
<li>Expressions: Support aggregation of geometry in expressions</li>
<li>Expressions: New expression variables</li>
<li>Expressions: new global expression variable <span class="citation"
data-cites="qgis_locale">@qgis_locale</span></li>
<li>Expressions: item_variables expression function inside
compositions</li>
<li>Expressions: New expression variables for map settings</li>
<li>Expressions: New expression functions</li>
<li>Expressions: Expose <span class="citation"
data-cites="parent">@parent</span> variable in aggregate functions</li>
<li>User Interface: Improved consistency to the user interface</li>
<li>User Interface: Enable tabbed floating docks</li>
<li>User Interface: Add support for fine-resolution mouse wheel
zooming</li>
<li>User Interface: add search bar to the Configure Shortcuts
dialog</li>
<li>User Interface: Toggle visibility of opened panels in main
window</li>
<li>User Interface: Locator bar</li>
<li>User Interface: More non-blocking, inline editing</li>
<li>User Interface: Add an option to show user color schemes menus</li>
<li>User Interface: Color setting for map canvas north arrow
decoration</li>
<li>User Interface: Improved map canvas’ save as image</li>
<li>Symbology: NEW MAP COLORING ALGORITHMS IN QGIS 3.0</li>
<li>Symbology: New “preset” colors color ramp option</li>
<li>Symbology: Allow symbol layers to be temporarily disabled</li>
<li>Symbology: Data defined symbol layer visibility</li>
<li>Symbology: save and restore color ramp used for singleband
pseudocolor rendering</li>
<li>Symbology: save and restore color ramp used for singleband
pseudocolor rendering</li>
<li>Symbology: Add Points and Inches to available symbol units</li>
<li>Symbology: New color ramp button widget</li>
<li>Symbology: Style management re-work and upgrade</li>
<li>Symbology: Show an alpha slider in color button drop-down menu</li>
<li>Symbology: Support setting of color and transparency on multiple
items for raster renderers</li>
<li>Symbology: raster auto-stretching when updating canvas</li>
<li>Symbology: Raster stretch toolbar actions support for pseudocolor
renderer</li>
<li>Symbology: Transparency support for paletted renderer</li>
<li>Symbology: Control over annotation contents margins</li>
<li>Symbology: Annotations can be styled using fill symbol styles</li>
<li>Symbology: Point cluster renderer</li>
<li>Labeling: Allow label font size in mm/pixels</li>
<li>Labeling: Custom labeling toolbar is now always enabled</li>
<li>Diagrams: Data definable properties</li>
<li>Rendering: Grid renderer for points displacement</li>
<li>Rendering: Live layer support</li>
<li>Rendering: Cache labeling result to avoid unnecessary redraws when
refreshing canvas</li>
<li>Digitizing: add functionality to copy/move feature to move feature
map tool</li>
<li>Digitizing: Range vertex selection in node tool</li>
<li>Digitizing: Add default Z value option</li>
<li>Digitizing: Move feature now benefits from Advanced Digitizing</li>
<li>Digitizing: Tracing with offset</li>
<li>Data Management: Metadata overhaul</li>
<li>Data Management: Auxiliary Storage Support</li>
<li>Data Management: Pan to current feature in attribute table</li>
<li>Data Management: Map of CRS-extent in Project properties</li>
<li>Data Management: Unified data source manager dialog</li>
<li>Data Management: Unified data source manager dialog</li>
<li>Data Management: Unified data source manager dialog</li>
<li>Forms and Widgets: Allow controlling labels for individual edit
widgets</li>
<li>Forms and Widgets: Smarter default edit widgets with plugins to pick
them</li>
<li>Forms and Widgets: Allow configuring link/unlink feature buttons on
relation editor widget</li>
<li>Forms and Widgets: conditional visibility for tabs and
groupboxes</li>
<li>Forms and Widgets: Field constraints can be enforced or not</li>
<li>Forms and Widgets: Add layer scoped actions</li>
<li>Forms and Widgets: Add between/not between to numerical fields in
select by form</li>
<li>Forms and Widgets: Show field values in autocompleter in form filter
mode</li>
<li>Forms and Widgets: Add zoom to features and flash features shortcuts
in select by form dialog</li>
<li>Forms and Widgets: Add between/not between to numerical fields in
select by form</li>
<li>Layer Legend: Hide Deselected Layers action</li>
<li>Layer Legend: Change of ergonomy of the visibility of layers inside
groups</li>
<li>Map Composer: Control over drawing of composer table grid horizontal
&amp; vertical lines</li>
<li>Map Composer: Map Composer Overhaul</li>
<li>Map Composer: Drag qpt to QGIS to create new composer from
template</li>
<li>Map Composer: Allow customization of line spacing for composer
legend item labels</li>
<li>Map Composer: Allow choice of CRS for map items</li>
<li>Map Composer: Data definable controls</li>
<li>Map Composer: Holding shift while drawing polyline/polygon
constrains line angles</li>
<li>Analysis Tools: Raster unique values count for processing</li>
<li>Processing: New algorithm for offsetting lines</li>
<li>Processing: New algorithm for single sided buffers</li>
<li>Processing: Optimised points along geometry algorithm</li>
<li>Processing: Add choice of simplification method to simplify</li>
<li>Processing: support for output geometry types in models</li>
<li>Processing: Angle threshold for smooth algorithm</li>
<li>Processing: Better support for Z/M dimensions and curved
geometries</li>
<li>Processing: Raster analysis algorithms added to Processing</li>
<li>Processing: New algorithm to extract specific nodes</li>
<li>Processing: expose zonal statistics from Zonal statistics plugin in
toolbox</li>
<li>Processing: add a spatialite execute SQL algorithm</li>
<li>Processing: New algorithm to extend lines</li>
<li>Processing: New extract by expression algorithm</li>
<li>Processing: add import into spatialite algorithm</li>
<li>Processing: Interpolation algorithms</li>
<li>Processing: New algorithm to compute geometry by expression</li>
<li>Processing: Snap geometries to layer algorithm</li>
<li>Processing: New input type for expressions</li>
<li>Processing: SplitWithLines</li>
<li>Processing: pole of inaccessibility algorithm</li>
<li>Processing: Extract by attribute can extract for null/notnull
values</li>
<li>Processing: Create attribute index algorithm</li>
<li>Processing: New ‘drop geometries’ algorithm</li>
<li>Processing: New universal ‘basic stats for field’ algorithm</li>
<li>Processing: Port heatmap plugin to processing algorithm</li>
<li>Processing: New algorithm to orthogonalize geometries</li>
<li>Processing: Network analysis algorithms</li>
<li>Processing: Export processing models as PDF/SVG</li>
<li>Processing: New algorithm to truncate tables</li>
<li>Processing: added ‘invalid feature handling’ option</li>
<li>Processing: algorithm to fix invalid geometries using native
makeValid() implementation</li>
<li>Processing: add search to Get Scripts and Models dialog</li>
<li>Processing: Generic centroid algorithm</li>
<li>Processing: improved Extract nodes algorithm</li>
<li>Processing: New algorithm for translating (moving) points</li>
<li>Processing: Improved processing modeler window</li>
<li>Processing: New raster unique values report algorithm</li>
<li>Processing: remove TauDEM provider from core Processing</li>
<li>Processing: Download a file from Processing</li>
<li>Application and Project Options: New zipped project file format
.qgz</li>
<li>Application and Project Options: Add support for user profiles</li>
<li>Browser: Drag’n’drop layers from layer tree view to browser
dock</li>
<li>General: Remove dxf2shp converter plugin</li>
<li>General: Remove zonal stats plugin</li>
<li>General: Remove orphaned oracle raster plugin</li>
<li>General: Possibility to configure location of the QGIS help
files</li>
<li>General: remove TauDEM provider from core Processing</li>
<li>General: removed otb and lidartools providers from processing</li>
<li>General: Migrate Photo, WebView and FileName widgets to
Attachment</li>
<li>Data Providers: GeoPackage</li>
<li>Data Providers: Support all GDAL writable raster formats for ‘Save
as’ dialog on raster layers</li>
<li>Data Providers: Add auto-discovery of relations for PostgresQL</li>
<li>Data Providers: Detect literal default values for spatialite
provider</li>
<li>Data Providers: New unified ‘add layer’ dialog</li>
<li>Data Providers: Create attribute index support for spatialite
provider</li>
<li>Data Providers: Add support for arrays</li>
<li>Data Providers: Support for HStore in PostGIS data provider</li>
<li>Data Providers: Data dependencies between layers</li>
<li>Data Providers: hstore support to the postgres provider</li>
<li>Data Providers: dxf export: support reprojection</li>
<li>Data Providers: Load/save style in database for GPKG and
Spatialite</li>
<li>Data Providers: Unique and not-null constraint handling</li>
<li>Data Providers: support for Z/M geometries in memory provider</li>
<li>Data Providers: Support for Z/M geometries in spatialite
provider</li>
<li>Data Providers: GeoNode integration</li>
<li>Data Providers: Improved handling of defaults</li>
<li>QGIS Server: QGIS Server overhaul</li>
<li>QGIS Server: Possibility to segmentize feature info geometry in
server</li>
<li>Plugins: Remove trusted status from Plugin Manager</li>
<li>Plugins: Offline editing: Add flag to only copy selected
features</li>
<li>Plugins: GDALTools moved to Processing</li>
<li>Plugins: allow installing plugins from local ZIP packages</li>
<li>Programmability: Geometry class updates</li>
<li>Programmability: Task manager</li>
<li>Programmability: API to allow drag’n’drop of custom browser
items</li>
</ul>
<h1 id="whats-new-in-version-2.18-las-palmas">What’s new in Version 2.18
‘Las Palmas’?</h1>
<p>This release has following new features:</p>
<ul>
<li>Symbology: Color picker is now embedded in layer style panel</li>
<li>Labeling: Substitution list support for labeling</li>
<li>Labeling: Improved line label placement algorithm</li>
<li>Labeling: Label polygons using curved labels along perimeter</li>
<li>Data Management: Add flag to only copy selected features</li>
<li>Forms and Widgets: Allow controlling labels for individual edit
widgets</li>
<li>Forms and Widgets: Conditional visibility for tabs and group
boxes</li>
<li>Forms and Widgets: Client side default field values</li>
<li>Map Composer: True North Arrows</li>
<li>Processing: Point on surface algorithm added</li>
<li>Processing: New algorithm for geometry boundary</li>
<li>Processing: New algorithm for calculating feature bounding box</li>
<li>Processing: Processing dissolve algorithm accepts multiple
fields</li>
<li>Processing: Optimised processing clip algorithm</li>
<li>Processing: New algorithm for merging connected lines</li>
<li>General: Automatic links in identify results</li>
<li>General: Mouse wheel over color dialog sliders</li>
<li>General: Add custom color schemes to color button drop-down
menu</li>
<li>Data Providers: Preview for WMTS + added XYZ tile layers</li>
<li>QGIS Server: Possibility to segmentize feature info geometry in
server</li>
<li>Plugins: DB Manager: Add the ability to update SQL Layer</li>
<li>Programmability: New expression functions</li>
<li>Programmability: Expose GEOS linear referencing function to
QgsGeometry</li>
</ul>
<h1 id="whats-new-in-version-2.16-nødebo">What’s new in Version 2.16
‘Nødebo’?</h1>
<p>This release has following new features:</p>
<ul>
<li>User Interface: Improvements to map zooming</li>
<li>User Interface: Map canvas magnifier</li>
<li>User Interface: Redesigned interactive gradient editor</li>
<li>User Interface: Choice of default view for the attribute dialog</li>
<li>User Interface: Improvements to calendar popups</li>
<li>User Interface: Improved color pickers</li>
<li>User Interface: Copy cell contents from attribute table</li>
<li>User Interface: Improved HiDPI support</li>
<li>User Interface: Improved map select tool behavior</li>
<li>Symbology: Arrow symbol layer</li>
<li>Symbology: New “Filled marker” symbol layer type</li>
<li>Symbology: New accessibility and low vision symbols</li>
<li>Symbology: New simple marker symbols</li>
<li>Symbology: “No symbol” renderer</li>
<li>Symbology: More control over centroid fill point rendering</li>
<li>Symbology: Outline setting for font markers symbol</li>
<li>Symbology: Control outline join style for simple, ellipse, and font
markers</li>
<li>Symbology: New map tool for interactively setting point symbol
offset</li>
<li>Symbology: Style Dock</li>
<li>Labeling: Labeling map tools now work with rule-based labeling</li>
<li>Diagrams: Legend entries for diagram size</li>
<li>Diagrams: Unit selection for outline width</li>
<li>Diagrams: Diagrams behave like labels and can be managed from
toolbar</li>
<li>Rendering: New options for on the fly simplification</li>
<li>Rendering: Quantile based classification for raster layers</li>
<li>Rendering: Live hillshade renderer</li>
<li>Digitizing: “Repeating” locking mode for constraints</li>
<li>Digitizing: Extend linestring geometries with reshape tool</li>
<li>Digitizing: Segmentation tolerance</li>
<li>Data management: New configuration options for attribute table</li>
<li>Data management: Multiple columns in attribute forms</li>
<li>Data management: Control over attributes to export when saving a
vector layer</li>
<li>Data management: Forms view: side column now sortable</li>
<li>Data management: Relation reference widget: shortcut for adding new
values</li>
<li>Data management: DXF export improvements</li>
<li>Data management: Top level widgets in drag and drop designer</li>
<li>Data management: Form based select and filter</li>
<li>Data management: Create GeoPackage layers</li>
<li>Data management: Constraints on widgets</li>
<li>Data management: Edit attributes of multiple features
simultaneously</li>
<li>Layer Legend: New option to zoom to a layer’s visible scale
range</li>
<li>Map Composer: New tools for drawing polygons and polylines</li>
<li>Map Composer: Embed atlas features into composer HTML source as
GeoJSON</li>
<li>Map Composer: Parametrized svg support for composer svg images</li>
<li>Map Composer: Easier use of HTML in labels</li>
<li>Map Composer: Relative links in composer labels</li>
<li>Map Composer: Georeference outputs (e.g., PDF) from composer</li>
<li>Map Composer: Composer maps now auto-update with presets</li>
<li>Analysis tools: Named parameters in expressions</li>
<li>Analysis tools: More distance units</li>
<li>Analysis tools: Changes to expressions</li>
<li>Analysis tools: Statistics for string and date fields</li>
<li>Analysis tools: Show curve point radius in info tool</li>
<li>Analysis tools: Aggregate support for expressions</li>
<li>Analysis tools: fTools plugin has been replaced with Processing
algorithms</li>
<li>Processing: Set point locations by clicking on canvas</li>
<li>Processing: Additional GRASS algorithms in processing</li>
<li>Processing: Support for expressions and variables</li>
<li>Processing: Preconfigured algorithms</li>
<li>Processing: Create a plugin with script-based algorithms from the
toolbox</li>
<li>Processing: Use of authentication manager in PostGIS related
algorithms</li>
<li>Processing: Support for writing tables with no geometry</li>
<li>General: Copying features in GeoJSON format</li>
<li>General: Store spatial bookmarks in project files</li>
<li>General: Support for GNSS GNRMC messages</li>
<li>General: Paste GeoJSON features directly into QGIS</li>
<li>General: Map tip improvements</li>
<li>General: QGIS Paid Bugfixing Programme</li>
<li>General: Desktop MIME icons for QGIS file types</li>
<li>Data Providers: OGR datasets are opened in read-only mode by
default</li>
<li>Data Providers: Improved handling of Postgres DOMAIN type
fields</li>
<li>Data Providers: Make readOnly mode of vector layers configurable in
project</li>
<li>Data Providers: Support for DB2 databases</li>
<li>Data Providers: Refresh Postgres materialized views in db
manager</li>
<li>Data Providers: OGR FID attribute shown</li>
<li>Data Providers: Save styles in MS SQL and Oracle databases</li>
<li>Data Providers: Rename fields in layers</li>
<li>Data Providers: ArcGIS Map and Feature REST services</li>
<li>Data Providers: Basic support for Oracle Workspace Manager</li>
<li>Data Providers: Massive improvements to WFS Provider</li>
<li>Data Providers: Generation of default values on Postgres layers
“just in time”</li>
<li>QGIS Server: Redlining support in GetMap and GetPrint</li>
<li>QGIS Server: Default datum transformation for server</li>
<li>Plugins: Refreshed globe plugin</li>
<li>Plugins: Globe: Extrude objects</li>
<li>Plugins: API: Add pages to vector layer properties</li>
<li>Plugins: Globe: Vector support</li>
<li>Plugins: Globe: Vertical exaggeration for DTM</li>
<li>Programmability: Embedded widgets in layer tree</li>
<li>Programmability: Plugins can add pages to vector layer
properties</li>
</ul>
<h1 id="whats-new-in-version-2.14-essen">What’s new in Version 2.14
‘Essen’?</h1>
<p>This release has following new features:</p>
<ul>
<li>Analysis tools : More statistics available in merge attributes
tool</li>
<li>Analysis tools : z/m values are shown when using the identify
tool</li>
<li>Browser : Browser Improvements</li>
<li>Data Providers : Use ST_RemoveRepeatedPoints for simplification on
PostGIS 2.2 or newer</li>
<li>Data Providers : Cache WMS capabililies</li>
<li>Data Providers : Better handling of time and datetime fields</li>
<li>Data Providers : Z/M support in delimited text provider</li>
<li>Data Providers : Curved geometry support expanded</li>
<li>Data Providers : Transaction groups for postgres editing</li>
<li>Data Providers : Postgres provider PKI authentication.</li>
<li>Data Providers : Virtual layers</li>
<li>Data Providers : More file extensions for GDAL and OGR providers
file selectors</li>
<li>Data management : dxf export: option to use title instead of name as
dxf layer name in application and server</li>
<li>Data management : Removal of SPIT plugin</li>
<li>Data management : Geometry type can be overridden in the vector save
as dialog</li>
<li>Data management : Vector joins are now saved within QLR
layer-definition-files</li>
<li>Data management : N:M relation editing</li>
<li>Data management : External Resource widget</li>
<li>Digitizing : Configurable rubber band color</li>
<li>Digitizing : Autotrace</li>
<li>Digitizing : Trace digitizing tool</li>
<li>General : Changed behavior of strpos function</li>
<li>General : Field calculator can be used to update feature’s
geometry</li>
<li>General : Virtual layers</li>
<li>General : Zoom to feature with right-click in attribute table</li>
<li>General : Speed improvements</li>
<li>General : More expression variables</li>
<li>General : New expression functions in 2.14</li>
<li>General : Better control over placement of map elements</li>
<li>General : Paid bugfixing programme</li>
<li>Labeling : Actual rendered symbol is now considered as an obstacle
for point feature labels</li>
<li>Labeling : “Cartographic” placement mode for point labels</li>
<li>Labeling : Applying label distance from symbol bounds</li>
<li>Labeling : Control over label rendering order</li>
<li>Layer Legend : applying the same style to selected layers or to
legend group</li>
<li>Layer Legend : New options for filtering legend elements</li>
<li>Layer Legend : Filter legend by expression</li>
<li>Map Composer : Additional paths for composer templates</li>
<li>Map Composer : Multiple selection of compositions in manager</li>
<li>Plugins : Authentication system support for plugin manager</li>
<li>Processing : New algorithms in 2.14</li>
<li>Processing : Unit Tests Q/A</li>
<li>Processing : Improved toolbox.</li>
<li>Processing : More informative algorithm dialog.</li>
<li>Processing : Batch processes can be saved and later recovered from
the batch processing interface</li>
<li>Processing : GRASS7 v.net modules</li>
<li>Programmability : Redesign expression function editor</li>
<li>Programmability : Store python init code into the project</li>
<li>Programmability : New filtering and sorting options for
QgsFeatureRequest</li>
<li>Programmability : Custom feature form Python code options</li>
<li>Programmability : New PyQGIS classes in 2.14</li>
<li>QGIS Server : STARTINDEX param in WFS GetFeature Request</li>
<li>QGIS Server : showFeatureCount in GetLegendGraphic</li>
<li>QGIS Server : Enhance store project keyword list</li>
<li>QGIS Server : Option to avoid rendering artifacts at edges of
tiles</li>
<li>QGIS Server : WMS INSPIRE Capabilities</li>
<li>QGIS Server : Configuration checker in project properties</li>
<li>QGIS Server : Add short name to layers, groups and project</li>
<li>Symbology : Size assistant for varying line width</li>
<li>Symbology : Support for transparency in SVG color parameters</li>
<li>Symbology : Easy duplication of symbol layers</li>
<li>Symbology : 2.5D Renderer</li>
<li>Symbology : Geometry generator symbols</li>
<li>Symbology : Allow definition of rendering order for features</li>
<li>User Interface : Attribute table can be refreshed</li>
<li>User Interface : Edit legend symbols directly from layer tree</li>
<li>User Interface : Directly set renderer and class symbol colors from
context menu in legend</li>
<li>User Interface : Improved and more powerful file picker widget for
forms</li>
<li>User Interface : Show/hide all legend items via the the context
menu</li>
</ul>
<h1 id="whats-new-in-version-2.12-lyon">What’s new in Version 2.12
‘Lyon’?</h1>
<p>This release has following new features:</p>
<ul>
<li>Analysis tools : Added number of vertices to derived fields in
identify tool</li>
<li>Analysis tools : Raster alignment tool</li>
<li>Analysis tools : Geometry Checker and Geometry Snapper plugins</li>
<li>Application and Project Options : Encrypted password management</li>
<li>Browser : Improvements to PostGIS connections in browser</li>
<li>Data Providers : PostGIS provider improvements</li>
<li>Data management : DBManager Improvements</li>
<li>Data management : Conditional formatting for attribute table
cells</li>
<li>Data management : Support for relative paths in widgets</li>
<li>Digitizing : Digitizing improvements</li>
<li>General : New welcome screen</li>
<li>General : Ongoing improvements to code quality</li>
<li>General : Advanced settings editor</li>
<li>General : Mutually exclusive layer tree groups</li>
<li>General : Filtering for field values in expression widget</li>
<li>General : User Interface Theme support</li>
<li>General : New expression functions in 2.12</li>
<li>General : Variables in expressions</li>
<li>Labeling : Data defined quadrant when in “around point” mode</li>
<li>Labeling : Draw only labels which fit inside polygons</li>
<li>Labeling : Control priority of labeling obstacles</li>
<li>Labeling : New options to control how polygon layers act as
obstacles</li>
<li>Labeling : Data defined control over label priority</li>
<li>Labeling : Option for obstacle-only layers</li>
<li>Labeling : Rule-based labeling</li>
<li>Map Composer : Atlas navigation improvements</li>
<li>Map Composer : Custom format for grid annotations</li>
<li>Map Composer : Multiline text handling and automatic text wrapping
in composer attribute tables</li>
<li>Map Composer : Advanced customization of cell background color</li>
<li>Map Composer : Add fit page to contents option and options for
cropping exports to contents</li>
<li>Map Composer : Force vector layers to render as a raster images</li>
<li>Map Composer : Data defined control over map layers and style
presets</li>
<li>Map Composer : Option to hide pages from view/export</li>
<li>Plugins : Update of the GRASS plugin</li>
<li>Programmability : Open scripts in external editor</li>
<li>Programmability : Maptools moved from app-&gt;gui</li>
<li>Programmability : Editing layers via
<code>with edit(layer):</code></li>
<li>Programmability : New API for labeling engine
(QgsLabelingEngineV2)</li>
<li>Programmability : New classes for PyQGIS programs</li>
<li>QGIS Server : QGIS Server Python API</li>
<li>QGIS Server : getMap in dxf format</li>
<li>Symbology : Export thumbnails from style manager</li>
<li>Symbology : New option for limiting size in mm when using map unit
sizes</li>
<li>Symbology : Improvements to displacement renderer</li>
<li>Symbology : All color ramps can now be edited</li>
<li>Symbology : Improved handling of SVG marker outlines</li>
<li>Symbology : Add pixels as option for all symbology size unit
choices</li>
</ul>
<h1 id="whats-new-in-version-2.10-pisa">What’s new in Version 2.10
‘Pisa’?</h1>
<p>This is a minor release increment with the following new
features:</p>
<ul>
<li>New statistical summary dock widget.</li>
<li>Use logarithmic functions in the raster calculator.</li>
<li>New zonal statistics features.</li>
<li>New browser properties widget.</li>
<li>New browser icon.</li>
<li>PostGIS: support for Pointcloud layers.</li>
<li>PostGIS: provider side expression filters.</li>
<li>GRASS plugin/provider improvements.</li>
<li>DXF Export Improvements.</li>
<li>Virtual fields are now updatable.</li>
<li>Line edit with auto-completer for ValueRelation edit widget.</li>
<li>Improvements to DB Manager.</li>
<li>Filter chaining for relation reference widget.</li>
<li>Diagram improvements.</li>
<li>Improved geometry rotation tool.</li>
<li>New geometry engine.</li>
<li>Improved handling of potential project file overwrites.</li>
<li>Join parameters can now be edited.</li>
<li>Layers with joins can now be filtered.</li>
<li>Tweaks to label properties dialog.</li>
<li>Support for non-latin scripts for curved labels.</li>
<li>“Follow point” alignment for multiline labels.</li>
<li>Support overridden layer styles also in the composer legend.</li>
<li>Add scalebar sizing mode to fit a desired scalebar width.</li>
<li>Plugins can now create their own entries in the browser.</li>
<li>More uniform and predictable names for processing outputs.</li>
<li>Allow changing vector layer data source.</li>
<li>Implicit sharing of classes.</li>
<li>New QgsStatisticalSummary class for calculating statistics from a
list of numbers.</li>
<li>Qt minimum increased to 4.8.</li>
<li>GetFeature without geometry.</li>
<li>Support for tolerance parameter in WMS GetFeatureInfo requests.</li>
<li>Data defined properties for font marker.</li>
<li>Size scale and rotation have been removed from the advanced
menu.</li>
<li>Match categories to existing styles.</li>
<li>New option for preventing the automatic clipping of features to the
map extent.</li>
<li>Size, rotation and stroke-width expressions at the symbollist
level.</li>
<li>Live layer effects for layers and symbol layers.</li>
<li>Visualise and modify the graduated renderer using a histogram.</li>
<li>Vary symbol sizes using the graduated renderer.</li>
<li>User interface improvements.</li>
</ul>
<h1 id="whats-new-in-version-2.8-wien">What’s new in Version 2.8
‘Wien’?</h1>
<p>This is a minor release increment with the following feature:</p>
<ul>
<li>QGIS 2.8 is the basis for a long term release (which will be
maintained for a year).</li>
<li><blockquote>
<p>1000 issues which were flagged by static analysis tools have been
fixed.</p>
</blockquote></li>
<li>New code commits and pull requests are now automatically tested
against our testing framework.</li>
<li>More responsive QGIS Browser thanks to multithreading support.</li>
<li>Support for contextual WMS legend graphics.</li>
<li>Custom prefixes for joins.</li>
<li>Creation of memory layers is now a core feature.</li>
<li>New field calculator bar in attribute table.</li>
<li>DXF export improvements.</li>
<li>Advanced digitizing tools.</li>
<li>Improved snapping options and behavior.</li>
<li>Better simplify tool - including support for on the fly reprojection
being enabled.</li>
<li>Qt5 support (optional - default packages are still currently built
against Qt4).</li>
<li>Spatial bookmark import/export.</li>
<li>Composer user interface improvements.</li>
<li>Grid overlay improvements for composer maps.</li>
<li>Raster image fill type.</li>
<li>Live heatmap renderer.</li>
<li>You can now use multiple styles per layer.</li>
<li>Rotation of map canvas is now supported.</li>
<li>Improved user interface for data defined symbology.</li>
<li>New algorithms in processing.</li>
<li>Expressions are now extendable with custom python functions.</li>
<li>Comments are now supported in expressions.</li>
<li>QGIS server improvements: better caching, layer style support, value
relations, DescribeLayer, python plugins.</li>
</ul>
<h1 id="whats-new-in-version-2.6.0-brighton">What’s new in Version 2.6.0
‘Brighton’?</h1>
<p>This is a minor release increment with the following new
features:</p>
<ul>
<li>Improved DXF export</li>
<li>Project filename in project properties</li>
<li>Allow removing last point while measuring via del/backspace
keys</li>
<li>Select related feature on the canvas from the relation reference
widget</li>
<li>Editor widgets support null and other improvements</li>
<li>Optionally use just a subset of fields from the joined layer</li>
<li>Expression field (virtual fields)</li>
<li>Can toggle display of classes within graduated and categorised
renderers</li>
<li>Additional expressions types and options</li>
<li>Added icon support to actions</li>
<li>Classes within graduated and categorised renderers can be
toggled</li>
<li>Legend improvements such as filtering, layer management icons
etc.</li>
<li>Control over hiding print composer items from prints/exports</li>
<li>Control over page printing for empty composer frames</li>
<li>New Composer Item tree panel</li>
<li>More control over appearance of composer arrow/line items</li>
<li>Data defined control of composer items</li>
<li>Composer images can be specified as remote URLS</li>
<li>Composer Table improvements (header fonts / colors, better
pagination support, filter to atlas feature etc.)</li>
<li>Composer improvements</li>
<li>Improved item snapping</li>
<li>Multiple overviews for a map item</li>
<li>HTML item improvements</li>
<li>Composer map grid improvements</li>
<li>Processing now has an online collection of models and scripts</li>
<li>Processing graphical modeler completely rewritten</li>
<li>API changes for QGIS widgets</li>
<li>Enhancements of searching with GetFeatureInfo request</li>
<li>Add a precision setting for GetFeatureInfo geometry attributes</li>
<li>Better random color choice</li>
<li>Symbology UI Improvements</li>
<li>Syntax highlighting code and expression editor</li>
<li>User defined color palettes</li>
<li>New color picker dialog</li>
<li>Single select feature tool merged into select by rectangle</li>
<li>Add layer to map canvas behavior</li>
<li>Support icon sizes of 48 and 64 pixels</li>
<li>New color buttons</li>
<li>Context menu for identify tool</li>
</ul>
<h1 id="whats-new-in-version-2.4.0-chugiak">What’s new in Version 2.4.0
‘Chugiak’?</h1>
<p>This is the minor release sports a number of great new features:</p>
<ul>
<li>Multi-threaded rendering</li>
<li>Color preview modes in composer and map canvas</li>
<li>New expression functions (bounding box related functions,
wordwrap)</li>
<li>Copy, paste and drag and drop colors</li>
<li>Label features multiple times</li>
<li>Improvements to composer picture items</li>
<li>Predefined scales mode for atlas maps</li>
<li>Improved attribute tables in composer</li>
<li>General composer improvements - join and capping styles, button to
zoom to main map</li>
<li>Improvements to HTML frames in composer</li>
<li>Shapeburst fill style</li>
<li>Option to shift marker line placement</li>
<li>New Inverted Polygon renderer</li>
</ul>
<h1 id="whats-new-in-version-2.2.0-valmiera">What’s new in Version 2.2.0
‘Valmiera’?</h1>
<p>This is the minor release sports a number of great new features:</p>
<ul>
<li>You can now define 1:n relations for layers.</li>
<li>It is now possible to export your project to DXF format.</li>
<li>When pasting a selection, it is now possible to create a new layer
on the fly from the pasted features.</li>
<li>WMS Legend is now available via a getLegendGraphic request.</li>
<li>It is now possible to digitize a new feature as an interior ring of
an existing feature.</li>
<li>Recent expressions are saved in the expression builder for quick
re-use.</li>
<li>You can now set the color for the zebra map border style in
composer.</li>
<li>You can now rotate any element in the print composer.</li>
<li>Composer window now has scale in the status bar and improved
rulers.</li>
<li>Composer output as image can be created with a world file now so
that your maps are georeferenced.</li>
<li>Numerous enhancements to the atlas let you preview and print each
map sheet.</li>
<li>It is easier to select overlapped items in the map composer.</li>
<li>Support for styling pages and shapes has been improved in the map
composer.</li>
<li>QGIS Server can now deliver Web Coverage Service (WCS) maps.</li>
<li>Gradients can now be used for polygon fills.</li>
<li>Classes in paletted rasters can now be labelled.</li>
<li>Color ramps can now be inverted.</li>
<li>Rules in the rule based renderer can now be copied and pasted.</li>
<li>Support for on-the-fly feature generalisation has been added.</li>
<li>For marker layers you can now define the anchor points / origin of
the marker.</li>
<li>For vector symbology you can now use expressions instead of only a
field for the classification.</li>
<li>Size and attributes of diagram renderer can now be set using
expressions.</li>
<li>Polygon outlines can be drawn with an inner stroke (to prevent the
stroke being drawn in a neighbouring polygon)</li>
<li>The visual style of all our properties dialogs has been
improved.</li>
<li>The keybindings for the user interface have been updated to make it
easier to navigate.</li>
<li>QGS now supports multiple datum transformations.</li>
<li>‘Processing’ now has a script editor.</li>
<li>‘Processing’ can be used headless in scripts.</li>
</ul>
<h1 id="whats-new-in-version-2.0.1-dufour">What’s new in Version 2.0.1
‘Dufour’?</h1>
<p>This is a small bugfix release to address the missing copyright /
credits for our new splash screen and to update supporting
documentation. The spanish translation was also updated.</p>
<h1 id="whats-new-in-version-2.0.0-dufour">What’s new in Version 2.0.0
‘Dufour’?</h1>
<p>This is a new major release. Building on the foundation of QGIS 1.x.x
releases, QGIS Dufour introduces many new features, improvements and bug
fixes. Here is a summary of some of the key new features.</p>
<ul>
<li>We have updated out icon theme to use the ‘GIS’ theme which
introduces an improved level of consistency and professionalism to the
QGIS user interface.</li>
<li>The new symbol layer overview uses a clear, tree-structured layout
which allows for easy and fast access to all symbol layers.</li>
<li>QGIS 2.0 now includes Oracle Spatial support.</li>
<li>With the new data defined properties, it is possible to control
symbol type, size, color, rotation, and many other properties through
feature attributes.</li>
<li>You can now place html elements onto your map.</li>
<li>Having nicely aligned map items is critical to making nice printed
maps. Auto snapping lines have been added to allow for easy composer
object alignment by simply dragging an object close to another.</li>
<li>Sometimes you need to align objects a curtain distance on the
composer. With the new manual snapping lines you are able to add manual
snap lines which allow for better align objects using a common
alignment. Simply drag from the top or side ruler to add new guide
line.</li>
<li>Ever needed to generate a map series? Of course you have. The
composer now includes built in map series generation using the atlas
feature. Coverage layers can be points, lines, polygons, and the current
feature attribute data is available in labels for on the fly value
replacement.</li>
<li>A single composer window can now contain more then one page.</li>
<li>The composer label item in 1.8 was quite limited and only allowed a
single token $CURRENT_DATE to be used. In 2.0 full expression support
has been added too greater power and control of the final labels.</li>
<li>The map frame now contains the ability to show the extents of
another map and will update when moved. Using this with the atlas
generation feature now core in the composer allows for some slick map
generation. Overview frame style uses the same styling as a normal map
polygon object so your creativity is never restricted.</li>
<li>Layer blending makes it possible to combine layers in new and
exciting ways. While in older versions, all you could do was to make the
layer transparent, you can now choose between much more advanced options
such as “multiply”, “darken only”, and many more. Blending can be used
in the normal map view as well as in print composer.</li>
<li>HTML support has been added map composer label item to give you even
more control over your final maps. HTML labels support full css styles
sheets, html, and even JavaScript if you are that way inclined.</li>
<li>The labeling system has been totally overhauled - it now includes
many new features such as drop shadows, ‘highway shields’, many more
data bound options, and various performance enhancements. We are slowly
doing away with the ‘old labels’ system, although you will still find
that functionality available for this release, you should expect that it
will disappear in a follow up release.</li>
<li>The full power of normal label and rule expressions can now be used
for label properties. Nearly every property can be defined with an
expression or field value giving you more control over the label result.
Expressions can refer to a field (e.g. set the font size to the value of
the field ‘font’) or can include more complex logic. Examples of
bindable properties include: Font, Size, Style and Buffer size.</li>
<li>With the expression engine being used more and more though out QGIS
to allow for things like expression based labels and symbol, many more
functions have been added to the expression builder and are all
accessible though the expression builder. All functions include
comprehensive help and usage guides for ease of use.</li>
<li>If the expression engine doesn’t have the function that you need.
Not to worry. New functions can be added via a plugin using a simple
Python API.</li>
<li>The Python API has been revamped to allow for a more cleaner, more
pythonic, programming experience. The QGIS 2.0 API uses SIP V2 which
removes the messy toString(), toInt() logic that was needed when working
with values. Types are now converted into native Python types making for
a much nicer API. Attributes access is now done on the feature itself
using a simple key lookup, no more index lookup and attribute maps.
**Note:*- Most plugins written for QGIS &lt; 1.x will need to be ported
to work correctly in QGIS 2.x. Please consult
https://github.com/qgis/QGIS/wiki/Python_plugin_API_changes_from_18_to_20
for more details.</li>
<li>The raster data provider system has been completely overhauled. One
of the best new features stemming from this work is the ability to
‘Layer -&gt; Save As…’ to save any raster layer as a new layer. In the
process you can clip, resample, and reproject the layer to a new
Coordinate Reference System. You can also save a raster layer as a
rendered image so if you for example have single band raster that you
have applied a color palette to, you can save the rendered layer out to
a georeferenced RGB layer.</li>
<li>There are many, many more new features in QGIS 2.0 - we invite you
to explore the software and discover them all!</li>
</ul>
<h1 id="whats-new-in-version-1.8.0-lisboa">What’s new in Version 1.8.0
‘Lisboa’?</h1>
<p>This is a new feature release. Building on the foundation of QGIS
1.7.x releases, Lisboa introduces many new features, improvements and
bug fixes. Here is a summary of some of the key new features.</p>
<ul>
<li>QGIS Browser - a stand alone app and a new panel in QGIS. The
browser lets you easily navigate your file system and connection based
(PostGIS, WFS etc.) datasets, preview them and drag and drop items into
the canvas.</li>
<li>DB Manager - the DB manager is now officially part of QGIS core. You
can drag layers from the QGIS Browser into DB Manager and it will import
your layer into your spatial database. Drag and drop tables between
spatial databases and they will get imported. You can use the DB Manager
to execute SQL queries against your spatial database and then view the
spatial output for queries by adding the results to QGIS as a query
layer.</li>
<li>Action Tool - now there is a tool on the map tools toolbar that will
allow you to click on a vector feature and execute an action.</li>
<li>MSSQL Spatial Support - you can now connect to your Microsoft SQL
Server spatial databases using QGIS.</li>
<li>Customization - allows setting up simplified QGIS interface by
hiding various components of main window and widgets in dialogs.</li>
<li>New symbol layer types - Line Pattern Fill, Point Pattern fill</li>
<li>Composers - have multiple lines on legend items using a specified
character</li>
<li>Expression based labeling</li>
<li>Heatmap tool - a new core plugin has been added for generating
raster heatmaps from point data. You may need to activate this plugin
using the plugin manager.</li>
<li>GPS Tracking - The GPS live tracking user interface was overhauled
and many fixes and improvements were added to it.</li>
<li>Menu Re-organisation - The menus were re-organised a little - we now
have separate menus for Vector and Raster and many plugins were updated
to place their menus in the new Vector and Raster top level menus.</li>
<li>Offset Curves - a new digitizing tool for creating offset curves was
added.</li>
<li>Terrain Analysis Plugin - a new core plugin was added for doing
terrain analysis - and it can make really good looking colored relief
maps.</li>
<li>Ellipse renderer - symbollayer to render ellipse shapes (and also
rectangles, triangles, crosses by specifying width and height).
Moreover, the symbol layer allows setting all parameters (width, height,
colors, rotation, outline with) from data fields, in mm or map
units</li>
<li>New scale selector with predefined scales</li>
<li>Option to add layers to selected or active group</li>
<li>Pan To Selected tool</li>
<li>New tools in Vector menu - densify geometries, Build spatial
index</li>
<li>Export/add geometry column tool can export info using layer CRS,
project CRS or ellipsoidal measurements</li>
<li>Model/view based tree for rules in rule-based renderer</li>
<li>Updated CRS selector dialog</li>
<li>Improvements in Spatial Bookmarks</li>
<li>Plugin metadata in metadata.txt</li>
<li>New plugin repository</li>
<li>Refactored postgres data provider: support for arbitrary key
(including non-numeric and multi column), support for requesting a
certain geometry type and/or srid in QgsDataSourceURI added
gdal_fillnodata to GDALTools plugin</li>
<li>Support for PostGIS TopoGeometry datatype</li>
<li>Python bindings for vector field symbollayer and general updates to
the python bindings.</li>
<li>New message log window</li>
<li>Benchmark program</li>
<li>Row cache for attribute table</li>
<li>Legend independent drawing order</li>
<li>UUID generation widget for attribute table</li>
<li>Added support of editable views in SpatiaLite databases</li>
<li>Expression based widget in field calculator</li>
<li>Creation of event layers in analysis lib using linear
referencing</li>
<li>Group selected layers option added to the TOC context menu</li>
<li>load/save layer style (new symbology) from/to SLD document</li>
<li>WFS support in QGIS Server</li>
<li>Option to skip WKT geometry when copying from attribute table</li>
<li>upport for zipped and gzipped layers</li>
<li>Test suite now passes all tests on major platforms and nightly
tests</li>
<li>Copy and paste styles between layers</li>
<li>Set tile size for WMS layers</li>
<li>Support for nesting projects within other projects</li>
</ul>
<h1 id="whats-new-in-version-1.7.2-wroclaw">What’s new in Version 1.7.2
‘Wroclaw’?</h1>
<p>This is a bugfix release over version 1.7.1. The following changes
were made.</p>
<ul>
<li>Fix Gdaltools error checking for ogr layers</li>
<li>More Translations in OSM plugin</li>
<li>Fix for ticket #4283 (composer forgets on/off status of layers)</li>
<li>Fix to v.generalize for recent GRASS versions</li>
<li>Fix typos in GRASS command list</li>
<li>Restore override cursor when about box is shown</li>
<li>Fix #4319 (Enhance maximum for point displacement tolerance)</li>
<li>Added Python wrappers for QgsZonalStatistics</li>
<li>Fix #4331 (Classification dialog issues)</li>
<li>Fix #4282 (Wrong map zooming when using the “Attribute Table” zoom
tool)</li>
<li>Match proj4string in database</li>
<li>Fix #4241 (Ensure that we have a valid line in line decoration)</li>
<li>Fix label id for GetPrint in composer</li>
<li>Fix #3041 (Make the gdaltools command editable)</li>
<li>Fix shift in point displacement renderer</li>
<li>Fix for a crash in projection selection</li>
<li>Fix #4308 (Interpolation and Terrain core plugins)</li>
<li>Insert date value in attribute editor</li>
<li>Fix #4387 (Enable “add direction symbol” only for line layers)</li>
<li>Fix #2491 (Handle raster layer’s transparency band while
rendering)</li>
<li>Allow setting I/O encoding for OGR layers in vector layer
properties.</li>
<li>Fix #4414 (SVG indicators for arrows are not shown)</li>
<li>Label direction symbol shouldn’t depend on “map” vs. “line”
orientation.</li>
<li>Set prompt as default behavior for unknown CRS</li>
<li>For EPSG initialize GDAL CRS from authid instead of proj.4
string</li>
<li>Fix #4439 (Crash when changing style in Layer Properties)</li>
<li>Fix #4444 (Error when loading Python plugins)</li>
<li>Fix #4440 (invalid reference to Trac)</li>
<li>Fix stopRender call in graduated symbol renderer</li>
<li>Fix #4479 - trigger “new color ramp” always when activated</li>
<li>Hide query entry in legend context menu for layers with joins</li>
<li>Fix #4496 (Refresh map list in composer table widget in
showEvent)</li>
<li>OS X build/install updates</li>
<li>GRASS version support</li>
<li>Initializing from WKT favourize EPSG instead of PROJ.4</li>
<li>Add What’s this to Help menu (implement #4179)</li>
<li>fTools: update layers lists after adding new layer to TOC (fix
#4318)</li>
<li>Don’t block QGIS main window when running Merge shapefiles tool.
Partially addresses #4383</li>
<li>Fix broken Assign projection functionality in GDALTools and improve
handling output file extension</li>
</ul>
<h1 id="whats-new-in-version-1.7.1-wroclaw">What’s new in Version 1.7.1
‘Wroclaw’?</h1>
<p>This is a bugfix release over version 1.7.0. The following changes
were made.</p>
<ul>
<li>Raster performance improvements backported to 1.7.1 [see
http://linfiniti.com/2011/08/improvements-to-raster-performance-in-qgis-master/]</li>
<li>Update version on cmakelists and splash to 1.7.1</li>
<li>Move setting projection to after we have features</li>
<li>symbology: sort the category items when classifying them #4206</li>
<li>Fix feature_count consideration in wms feature info</li>
<li>Check topological editing yes/no when opening snapping dialog</li>
<li>Updated required version for bison and cmake</li>
<li>Small efficiency improvement for rendering</li>
<li>make sure gdaltools input vector layers are ogr vectors</li>
<li>Fix #4266 - georeferencer and spatial query crashing on exit</li>
<li>translation update: nl by Richard for 1.7.x branch</li>
<li>translation update: cz by Jan for 1.7.x release</li>
<li>Don’t check for plugin errors at startup</li>
<li>Fix QTreeWidget.resizeColumnToContents() issue observed in PyQt4.8.3
@ Debian</li>
<li>translation update: hu update for 1.7.x by Zoltan</li>
<li>german translation update</li>
<li>UPDATE TRANSLATIONS: for new bugfix Release in 1.7.x</li>
<li>Show only provider fields as join target candidates (ticket
#4136)</li>
<li>Shortcuts dialog now remembers window state between uses</li>
<li>Center small marker symbols in composer legend</li>
<li>Backport of 6e889aa40e</li>
<li>BUGFIX Backport of #4113 and #2805</li>
<li>[BACKPORT] increase maximum points count in Random Points tool</li>
<li>[BACKPORT] set default contrast enchacement algorithm to NoStretch
because this is more appropriate value</li>
<li>[BACKPORT]fix RandomPoints crash when there are NULL values in</li>
<li>Patch from Michal Klatecki - see ticket #3325</li>
<li>Fix #3866 for measure angle tool</li>
<li>Backported ui fix for wms select</li>
<li>Better block for signals when creating composer legend widget</li>
<li>Fix for considering layer title length in composer legend</li>
<li>apply #3793: libfcgi cannot change mapserv’s environment variables
on windows</li>
<li>german translation update</li>
<li>fix 55a1778 with patched qt on osgeo4w</li>
<li>add support for mixed case geometry types of PostGIS 2.0</li>
<li>Reduce top and side margins for attribute table dialog</li>
<li>Remove the (hopefully) last SVN reference</li>
<li>More svn version removal</li>
<li>Added missing color accessor/mutator/member from composerlegenditem
header</li>
<li>Get rid of svn version stuff from release branch.</li>
<li>Other workaround for Qt#5114 (fixes #3250, #3028, #2598)</li>
<li>Try to make the histogram smoother</li>
<li>More legend cleanup</li>
<li>Better layout for composer legend</li>
<li>Better consideration of large point symbols in composer legend</li>
<li>Fix for composer legend issues, e.g. ticket #3346</li>
<li>Merge branch ‘release-1_7_0’ of github.com:qgis/Quantum-GIS into
release-1_7_0</li>
<li>Fix labeling-ng with utf-8 layers (ticket #3854)</li>
<li>Tweak for layer cache</li>
<li>[backport] Fix bug where histogram can be assigned negative
frequency for a pixel range. Also fix potential memory leak as new
histogram vector was assigned to band stats without clearing the
old.</li>
<li>Added section on using QtCreator</li>
<li>Fix bugs causing a crash when histogram is gathered due to
uninitialized histogram vector</li>
<li>Added missing QUrl include</li>
<li>A neater fix for missing map parameter as suggested by Juergen</li>
<li>Fixed a bug where map= was not being published in onlineresource url
when project files are not in the same dir as cgi</li>
</ul>
<h1 id="whats-new-in-version-1.7.0-wroclaw">What’s new in Version 1.7.0
‘Wroclaw’?</h1>
<p>This release is named after the town of Wroclaw in Poland. The
Department of Climatology and Atmosphere Protection, University of
Wroclaw kindly hosted our developer meeting in November 2010. Please
note that this is a release in our ‘cutting edge’ release series. As
such it contains new features and extends the programmatic interface
over QGIS 1.0.x and QGIS 1.6.0. As with any software, there may be bugs
and issues that we were not able to fix in time for the release. We
therefore recommend that you test this version before rolling it out
en-masse to your users.</p>
<p>This release includes over 277 bug fixes and many new features and
enhancements. Once again it is impossible to document everything here
that has changed so we will just provide a bullet list of key new
features here.</p>
<h2 id="symbology-labels-and-diagrams">Symbology labels and
diagrams</h2>
<ul>
<li>New symbology now used by default!</li>
<li>Diagram system that uses the same smart placement system as
labeling-ng</li>
<li>Export and import of styles (symbology).</li>
<li>Labels for rules in rule-based renderers.</li>
<li>Ability to set label distance in map units.</li>
<li>Rotation for svg fills.</li>
<li>Font marker can have an X,Y offset.</li>
<li>Allow the line symbol layers to be used for outline of polygon
(fill) symbols.</li>
<li>Option to put marker on the central point of a line.</li>
<li>Option to put marker only on first/last vertex of a line.</li>
<li>Added “centroid fill” symbol layer which draws a marker on polygon’s
centroid.</li>
<li>Allow the marker line symbol layer to draw markers on each
vertex.</li>
<li>Move/rotate/change label edit tools to interactively change data
defined label properties.</li>
</ul>
<h2 id="new-tools">New Tools</h2>
<ul>
<li>Added GUI for gdaldem.</li>
<li>Added ‘Lines to polygons’ tool to vector menu.</li>
<li>Added field calculator with functions like $x, $y and
$perimeter.</li>
<li>Added voronoi polygon tool to Vector menu.</li>
</ul>
<h2 id="user-interface-updates">User interface updates</h2>
<ul>
<li>Allow managing missing layers in a list.</li>
<li>Zoom to group of layers.</li>
<li>‘Tip of the day’ on startup. You can en/disable tips in the options
panel.</li>
<li>Better organisation of menus, separate database menu added.</li>
<li>Add ability to show number of features in legend classes. Accessible
via right-click legend menu.</li>
<li>General clean-ups and usability improvements.</li>
</ul>
<h2 id="crs-handling">CRS Handling</h2>
<ul>
<li>Show active crs in status bar.</li>
<li>Assign layer CRS to project (in the legend context menu).</li>
<li>Select default CRS for new projects.</li>
<li>Allow setting CRS for multiple layers at once.</li>
<li>Default to last selection when prompting for CRS.</li>
</ul>
<h2 id="rasters">Rasters</h2>
<ul>
<li>Added AND and OR operator for raster calculator</li>
<li>On-the-fly reprojection of rasters added!</li>
<li>Proper implementation of raster providers.</li>
<li>Added raster toolbar with histogram stretch functions.</li>
</ul>
<h2 id="providers-and-data-handling">Providers and Data Handling</h2>
<ul>
<li><p>New SQLAnywhere vector provider.</p></li>
<li><p>Table join support.</p></li>
<li><p>Feature form updates:</p></li>
<li><p>Make NULL value string representation configurable.</p></li>
<li><p>Fix feature updates in feature form from attribute
table.</p></li>
<li><p>Add support for NULL values in value maps (comboboxes).</p></li>
<li><p>Use layer names instead of ids in drop-down list when loading
value maps from layers.</p></li>
<li><p>Support feature form expression fields: line edits on the form
which name prefix “expr_” are evaluated. Their value is interpreted as
field calculator string and replaced with the calculated value.</p></li>
<li><p>Support searching for NULL in attribute table.</p></li>
<li><p>Attribute editing improvements:</p></li>
<li><p>Improved interactive attribute editing in table (adding/deleting
features, attribute update).</p></li>
<li><p>Allow adding of geometryless features.</p></li>
<li><p>Fixed attribute undo/redo.</p></li>
<li><p>Improved attribute handling:</p></li>
<li><p>Optionally re-use entered attribute values for next digitized
feature.</p></li>
<li><p>Allow merging/assigning attribute values to a set of
features.-</p></li>
<li><p>Allow OGR ‘save as’ without attributes (e.g., DGN/DXF).</p></li>
</ul>
<h2 id="api-and-developer-centric">Api and Developer Centric</h2>
<ul>
<li>Refactored attribute dialog calls to QgsFeatureAttribute.</li>
<li>Added QgsVectorLayer::featureAdded signal.</li>
<li>Layer menu function added.</li>
<li>Added option to load c++ plugins from user specified directories.
Requires application restart to activate.</li>
<li>Completely new geometry checking tool for fTools. Significantly
faster, more relevant error messages, and now supports zooming to
errors. See the new QgsGeometry.validateGeometry function</li>
</ul>
<h2 id="qgis-mapserver">QGIS Mapserver</h2>
<ul>
<li>Ability to specify wms service capabilities in the properties
section of the project file (instead of wms_metadata.xml file).</li>
<li>Support for wms printing with GetPrint-Request.</li>
</ul>
<h2 id="plugins">Plugins</h2>
<ul>
<li>Support for icons of plugins in the plugin manager dialog.</li>
<li>Removed quickprint plugin - use easyprint plugin rather from plugin
repo.</li>
<li>Removed ogr converter plugin - use ‘save as’ context menu
rather.</li>
</ul>
<h2 id="printing">Printing</h2>
<ul>
<li>Undo/Redo support for the print composer</li>
</ul>
<h1 id="whats-new-in-version-1.6.0-capiapo">What’s new in Version 1.6.0
‘Capiapo’?</h1>
<p>Please note that this is a release in our ‘cutting edge’ release
series. As such it contains new features and extends the programmatic
interface over QGIS 1.0.x and QGIS 1.5.0. We recommend that you use this
version over previous releases.</p>
<p>This release includes over 177 bug fixes and many new features and
enhancements. Once again it is impossible to document everything here
that has changed so we will just provide a bullet list of key new
features here.</p>
<h2 id="general-improvements">General Improvements</h2>
<ul>
<li>Added gpsd support to live gps tracking.</li>
<li>A new plugin has been included that allows for offline editing.</li>
<li>Field calculator will now insert NULL feature value in case of
calculation error instead of stopping and reverting calculation for all
features.</li>
<li>Allow user specific PROJ.4 search paths and update srs.db to include
grid reference.</li>
<li>Added a native (C++) raster calculator implementation which can deal
with large rasters efficiently.</li>
<li>Improved interaction with extents widget in statusbar so that the
text contents of the widget can be copied and pasted.</li>
<li>Many improvements and new operators to the vector attribute table
field calculator including field concatenation, row counter etc.</li>
<li>Added –configpath option that overrides the default path (~/.qgis)
for user configuration and forces QSettings to use this directory, too.
This allows users to e.g. carry QGIS installation on a flash drive
together with all plugins and settings.</li>
<li>Experimental WFS-T support. Additionally ported wfs to network
manager.</li>
<li>Georeferencer has had many tidy ups and improvements.</li>
<li>Support for long int in attribute dialog and editor.</li>
<li>The QGIS Mapserver project has been incorporated into the main SVN
repository and packages are being made available. QGIS Mapserver allows
you to serve your QGIS project files via the OGC WMS protocol. <a
href="http://linfiniti.com/2010/08/qgis-mapserver-a-wms-srver-for-the-masses/">Read
More…</a></li>
<li>Select and measure toolbar flyouts and submenus.</li>
<li>Support has been added for non-spatial tables (currently OGR,
delimited text and PostgreSQL providers). These tables can be used for
field lookups or just generally browsed and edited using the table
view.</li>
<li>Added search string support for feature ids ($id) and various other
search related improvements.</li>
<li>Added reload method to map layers and provider interface. Like this,
caching providers (currently WMS and WFS) can synchronize with changes
in the datasource.</li>
</ul>
<h2 id="table-of-contents-toc-improvements">Table of contents (TOC)
improvements</h2>
<ul>
<li>Added a new option to the raster legend menu that will stretch the
current layer using the min and max pixel values of the current
extent.</li>
<li>When writing shape files using the table of contents context menu’s
‘Save as’ option, you can now specify OGR creation options.</li>
<li>In the table of contents, it is now possible to select and remove
several layers at once.</li>
</ul>
<h2 id="labeling-new-generation-only">Labeling (New generation
only)</h2>
<ul>
<li>Data defined label position in labeling-ng.</li>
<li>Line wrapping, data defined font and buffer settings for
labeling-ng.</li>
</ul>
<h2 id="layer-properties-and-symbology">Layer properties and
symbology</h2>
<ul>
<li>Three new classification modes added to graduated symbol renderer
(version 2), including Natural Breaks (Jenks), Standard Deviations, and
Pretty Breaks (based on pretty from the R statistical environment).
[Read more…
http://linfiniti.com/2010/09/new-class-breaks-for-graduated-symbols-in-qgis/]</li>
<li>Improved loading speed of the symbol properties dialog.</li>
<li>Data-defined rotation and size for categorized and graduated
renderer (symbology).</li>
<li>Use size scale also for line symbols to modify line width.</li>
<li>Replaced raster histogram implementation with one based on Qwt.
Added option to save histogram as image file. Show actual pixel values
on x axis of raster histogram.</li>
<li>Added ability to interactively select pixels from the canvas to
populate the transparency table in the raster layer properties
dialog.</li>
<li>Allow creation of color ramps in vector color ramp combo box.</li>
<li>Added “style manager…” button to symbol selector so that users will
find the style manager more easily.</li>
</ul>
<h2 id="map-composer">Map Composer</h2>
<ul>
<li>add capability to show and manipulate composer item width/ height in
item position dialog.</li>
<li>Composer items can now be deleted with the backspace key.</li>
<li>Sorting for composer attribute table (several columns and ascending
/ descending).</li>
</ul>
<h1 id="whats-new-in-version-1.5.0">What’s new in Version 1.5.0?</h1>
<p>Please note that this is a release in our ‘cutting edge’ release
series. As such it contains new features and extends the programmatic
interface over QGIS 1.0.x and QGIS 1.4.0. If an unchanging user
interface, programmatic API and long term support is more important to
you then cool new and untested features, we recommend that you use a
copy of QGIS from our Long Term Support (LTS)1.0.x release series. In
all other cases we recommend that you use this version.</p>
<p>This release includes over 350 bug fixes, over 40 new features. Once
again it is impossible to document everything here that has changed so
we will just provide a bullet list of key new features here.</p>
<h2 id="main-gui">Main GUI</h2>
<ul>
<li>There is a new angle measuring tool that allows you to interactively
measure angles against the map backdrop.</li>
<li>Live GPS Tracking tool</li>
<li>User configurable WMS search server</li>
<li>Allow editing of invalid geometry in node tool</li>
<li>Choice between mm and map units for new symbology. Scaling to use
new symbology in print composer as well</li>
<li>SVG fill symbol layer for polygon textures</li>
<li>Font marker symbol layer</li>
<li>Added –noplugins command line options to avoid restoring the
plugins. Useful when a plugin misbehaves and causes QGIS to crash during
startup</li>
<li>Allow hiding of deprecated CRSes</li>
<li>Add point displacement renderer plugin - allows points to be shifted
to avoid colliding with other points</li>
<li>Allow saving vector layers as ogr vector files</li>
<li>Raster provider: reduce debugging noise</li>
<li>Allow adding parts to multi points and lines</li>
<li>Text and form annotation tools are now in gui and app</li>
<li>Added possibility to place a set of default composer templates in
pkgDataPath/composer_templates</li>
<li>Gradient color ramps now support multiple stops - for adding
intermediate colors</li>
<li>Center map if user clicks into the map</li>
<li>New plugin for carrying out spatial selections</li>
<li>Data-defined size and rotation for single symbol renderer in
symbology</li>
<li>IdentifyAsHtml to raster layer and use it in identify</li>
<li>Export legend groups and layers with legendinterface and use this
information to display groups in the composer legend.</li>
<li>Show selected feature count in status bar</li>
<li>Query option added to layer menu to subset vector layers</li>
<li>Option to label only selected features (on the ‘old’ labeling
tool)</li>
<li>Load/save queries created in the query builder.</li>
<li>Manual adding of categories in symbology.</li>
<li>Georeferencer: possibility to configure if residuals should be
showed in pixels or map units</li>
<li>Delimited text provider: allow empty values in numeric columns</li>
<li>Added rule-based renderer for symbology</li>
<li>Ability to create spatial lite databases from within QGIS</li>
<li>Inclusion of GDAL Raster tools plugin into QGIS core</li>
<li>New python console (with history)</li>
<li>Add validation to capture tool</li>
<li>Allow postgres layers without saved username &amp; password by
asking for credentials</li>
<li>Support NULL values in search strings</li>
<li>Optionally add new layers to the selected group</li>
<li>Map composer can add attribute Tables in layouts. It is possible to
show only visible features in composer table or all features</li>
<li>Identify tool attribute form now non-modal in view mode (since
r12796)</li>
<li>Identified features’ highlight disappear when window is deactivate
or closed and reappears when reactivated.</li>
</ul>
<h2 id="wms-and-wms-c-support">WMS and WMS-C Support</h2>
<ul>
<li>WMS-C support, new spatial authorities, wms selection
improvements</li>
<li>Resolved EPSG dependency in spatial reference systems and included
french IGNF definitions in srs.db</li>
<li>WWM provider makes requests asynchronously through
QNetworkAccessManager now</li>
<li>WMS selection allows inserting of all layers of a branch</li>
<li>WMS has support for more mime types</li>
<li>Added load/save to WMS dialog</li>
<li>WMS-C scale slider gui added and more selection improvements</li>
</ul>
<h2 id="api-updates">API Updates</h2>
<ul>
<li><p>QgsDataProvider &amp; QgsMapLayer: add dataChanged() signal, so
that a provider can signal that the datasource changed</p></li>
<li><p>Use QNetworkAccessManager instead of QgsHttpTransaction
(including caching and dynamic authentication to website and
proxies)</p></li>
<li><p>Allow opening layer properties from plugins</p></li>
<li><p>Support for custom plugin layers.</p></li>
<li><p>Allow refreshing of plugins programmatically</p></li>
<li><p>Support for custom plugin directories using QGIS_PLUGINPATH
environment variables. More paths can be passed, separated by
semicolon.</p></li>
<li><p>Legend interface added to retrieve layers in legend
order</p></li>
<li><p>Support more GEOS operators</p></li>
</ul>
<h1 id="whats-new-in-version-1.4.0-enceladus">What’s new in Version
1.4.0 ‘Enceladus’?</h1>
<p>Please note that this is a release in our ‘cutting edge’ release
series. As such it contains new features and extends the programmatic
interface over QGIS 1.0.x and QGIS 1.3.0. If an unchanging user
interface, programmatic API and long term support is more important to
you then cool new and untested features, we recommend that you use a
copy of QGIS from our Long Term Support (LTS)1.0.x release series. In
all other cases we recommend that you use this version.</p>
<p>This release includes around 200 bug fixes, nearly 30 new features
and has had a lot of love and attention poured into it to take our
favorite desktop GIS application another step on the road to GIS
nirvana! So much has happened in the 3 months since our last release
that it is impossible to document everything here. Instead we will just
highlight a couple of important new features for you.</p>
<p>Probably the biggest new feature is the addition of the new vector
symbology infrastructure. This is provided alongside the old
implementation - you can switch using a button in the vector layer
properties dialog. It doesn’t replace the old symbology implementation
completely yet because there are various isues that need to be resolved
and a large amount of testinhen it is considered ready.</p>
<p>QGIS now has a field calculator, accessible via a button in the
attribute section of the vector properties, and from the attribute table
user interface. You can use feature length, feature area, string
concatenation and type conversions in the field calculator, as well as
field values.</p>
<p>The map composer has had a lot of attention. A grid can now be added
to composer maps. Composer maps can now be rotated in the layout. The
limitation of a single map layout per project has been removed. A new
composer manager dialog has been added to manage the existing composer
instances. The composer widget property sheets have been completely
overhauled to use less screen space</p>
<p>Various parts of the user interface have been overhauled with the
goal of improving consistency and to improve support for netbooks and
other smaller screen devices. Loading and saving of shortcuts. Position
can now be displayed as Degrees, Minutes, Seconds in the status bar. The
add, move and delete vertex buttons are now removed and the node tool is
moved from the advanced editing toolbar to the standard editing toolbar.
The identification tool has also undergone numerous improvements.</p>
<p>A render caching capability has been added to QGIS. This speeds up
common operations such as layer re-ordering, changing symbology, WMS /
WFS client, hiding / showing layers and opens the door for future
enhancements such as threaded rendering and pre-compositing layer cache
manipulation. Note that it is disabled by default, and can be enabled in
the options dialog.</p>
<p>User defined SVG search paths are now added to the options
dialog.</p>
<p>When creating a new shapefile, you can now specify its CRS. Also the
avoid intersections option for polygons is now also possible with
background layers.</p>
<p>For power users, you can now create customizable attribute forms
using Qt Designer dialog UIs.</p>
<h1 id="whats-new-in-version-1.3.0-mimas">What’s new in Version 1.3.0
‘Mimas’?</h1>
<p>This release includes over 30 bug fixes and several useful new
features:</p>
<h2 id="osm-plugin-provider-updates">OSM plugin &amp; provider
updates</h2>
<ul>
<li>new OSM style files.</li>
<li>new icons.</li>
<li>dialog text updated and completed.</li>
<li>“Saving OSM into file” functionality was improvements.</li>
<li>fixed some problems with encoding… ascii to utf-8.</li>
<li>all OSM layers are automatically removed after disabling OSM plugin
in plugin manager.</li>
<li>other OSM related bugfixes.</li>
</ul>
<h2 id="other-notable-features-and-improvements-in-this-release">Other
notable features and improvements in this release</h2>
<ul>
<li>Marker size is now configurable when editing a layer.</li>
<li>Incorporation of the analysis library into the mainstream
release.</li>
<li>Identify features across multiple layers.</li>
<li>Added a new plugin for carrying out raster terrain analysis
(computing slope aspect, steepness etc).</li>
<li>A reshape tool to apply to line/polygon geometries. The part of a
geometry between the first and last intersection of the reshape line
will be replaced.</li>
<li>Added snapping to current layer in measure dialog.</li>
<li>Added ability to select the primary key for views.</li>
<li>Zoom to a coordinate by entering it in the status bar coordinate
display.</li>
</ul>
<h1 id="version-1.2.0-daphnis">Version 1.2.0 ‘Daphnis’</h1>
<p>Please note that this is a release in our ‘cutting edge’ release
series. As such it contains new features and extends the programmatic
interface over QGIS 1.0.x. If stability and long term support is more
important to you then cool new and untested features, we recommend that
you use a copy of QGIS from our stable 1.0.x release series. This
release includes over 140 bug fixes and enhancements over the QGIS 1.1.0
release. In addition we have added the following new features:</p>
<h2 id="editing">Editing</h2>
<p>Editing functionality in QGIS has had a major update in this release.
This includes the addition of new vector editing tools:</p>
<ul>
<li>delete part of multipart feature</li>
<li>delete hole from polygon</li>
<li>simplify feature</li>
<li>Added a new “node” tool (in advanced digitizing toolbar).</li>
<li>New functionality for merging features</li>
<li>Added undo/redo functionality for vector layer editing.</li>
<li>Added option to show only markers of selected features in editing
mode.</li>
<li>Change layer’s icon in legend to reflext that the layer is
editable.</li>
</ul>
<p>In addition, there are undo/redo actions in Edit menu, in Advanced
digitizing toolbar and there is a new dock widget displaying undo stack
of active layer.</p>
<p>About the node tool: It resembles a tool for editing paths by nodes
that is present in every vector editor. How does it work (in QGIS)?
Click on a feature, its nodes will be marked by small rectangles.
Clicking and dragging a node moves it. Double clicking a segment will
add a new node. Pressing delete key will remove active node. It’s
possible to select more active nodes at once: by clicking and dragging a
rectangle. It’s possible to select a segment’s adjacent nodes by
clicking on the segment. It’s possible to add/remove active nodes by
using Ctrl when clicking a node or dragging a rectangle</p>
<p>We recommend that you turn off vertex markers in QGIS options when
working with this tool: the redraws are much faster and the map is not
cluttered with markers.</p>
<h2 id="keyboard-shortcuts">Keyboard shortcuts</h2>
<p>New feature: configure shortcuts for actions within main window of
qgis! See menu Setting-&gt;Configure shortcuts</p>
<h2 id="map-composer-1">Map Composer</h2>
<p>It is now possible to lock/unlock composer item positions by right
mouse click. The width and height of the composer map will now remain
fixed if user sets the composer map extent to the map canvas extent.
possibility to display current date in composer label by typing (d
‘June’ yyyy) or similar. It is now possible to keep the current layers
in a composer map even if further layers are added to the main map.
Export to PDF in composer is now possible.</p>
<h2 id="attribute-tables">Attribute tables</h2>
<p>It is now possible to search the attribute table within selected
records only. General speedups have been made on the attribute table.
Setting of field width and precision when adding attributes is now
possible. Handling of attribute types in WFS provider has bee
improved.</p>
<p>Attribute aliases for vector layers are now available. The aliases
are shown instead of the original field names in the info tool and
attribute table to make things easier for end users. There is now a GUI
for setting edit widgets for layer attributes. A new dialog allows
loading a value map from a layer (could be non-spatial table too!). The
edit widgets settings will also now be respected in the attribute
table.</p>
<h2 id="plugins-1">Plugins</h2>
<ul>
<li>The order of layers in the WMS dialog can now be changed.</li>
<li>The eVis plugin, version 1.1.0, has been added to the QGIS project
and included as a standard plugin. More information about eVis can be
found here:
http://biodiversityinformatics.amnh.org/open_source/evis/documentation.php
.</li>
<li>The interpolation plugin now has the ability to use line layers as
constrains for triangulation in interpolation plugin. You can also now
save the triangulation to shape file.</li>
<li>An new OpenStreetMap provider and plugin have been added to
QGIS.</li>
</ul>
<h2 id="projects-management">Projects Management</h2>
<p>QGIS now includes support for project relative position of file data
sources and svgs. The saving of relative paths of file data sources is
optional.</p>
<h2 id="postgis-the-postgresql-provider">PostGIS &amp; the PostgreSQL
Provider</h2>
<p>You can now select the SSL mode when adding a new DB connection.
Turning off SSL encryption can greatly improve performance of PostGIS
data loading where connection security is not required. Support has been
added for more native types and for setting of column comments.</p>
<h2 id="symbology-enhancements">Symbology enhancements</h2>
<ul>
<li>allow refresh of symbols via popup menu on the renderer’s symbol
selection</li>
<li>add support for data defined symbols</li>
<li>add support for font symbol markers (only data defined - no gui
yet)</li>
<li>add symbol size in map units (ie. symbols that keep the size in
mapunits independent of the mapscale)</li>
</ul>
<h2 id="command-line-arguments">Command line arguments</h2>
<p>Added command line argument support on windows. Enhancement of
command line arguments:</p>
<ul>
<li>allow given snapshot sizes</li>
<li>allow suppression of splash screen</li>
<li>capture map decorations from plugins on snapshots</li>
</ul>
<h2 id="grass">Grass</h2>
<p>There is a new GRASS shell. Also there have been many cleanups and
consistency updates.</p>
<h1 id="version-1.1.0-pan">Version 1.1.0 ‘Pan’</h1>
<p>Please note that this is a release in our ‘unstable’ release series.
As such it contains new features and extends the programmatic interface
over QGIS 1.0.x. If stability and long term support is more important to
you then cool new and untested features, we recommend that you use a
copy of QGIS from our stable 1.0.x release series.</p>
<p>This release includes many bug fixes and enhancements over the QGIS
1.0.0 release. In addition we have added the following new features:</p>
<ul>
<li>Updates to translations.</li>
<li>Improvements and polishing of the Python plugin installer. Switch to
the new official QGIS repository.</li>
<li>Improvements to themes so that plugins and other parts of the GUI
are better supported when switching themes. Addition of the new GIS icon
theme.</li>
<li>Improvements to Debian packaging to better support Debian standard
requirements.</li>
<li>Support usb: as a GPS device under Linux.</li>
<li>WMS plugin now supports sorting and shows nested layers as a tree.
WMS provider also support 24bit png images now. The WMS plugin also now
provides a search interface for finding WMS servers.</li>
<li>Added svg point symbols symbols from Matt Amos (with his
permission).</li>
<li>Improvements to proxy support and support of proxy in WFS provider.
The WFS provider now also shows progress information as it is fetching
data.</li>
<li>Improvements the PostGIS client support. Massive speedups in PostGIS
layer rendering can now be achieved by disabling SSL in the connection
editor.</li>
<li>Mapserver Export improvements for continuous color support.</li>
<li>Added tools menu - the fTools plugins are now part of the core QGIS
plugins and will always be installed by default.</li>
<li>Improvements to the print composer including object alignment
options. It is also now possible to print maps as postcript raster or
vector. For python programmers, the composer classes now have python
bindings.</li>
<li>When using File - Save as image, the saved image is now
georeferenced.</li>
<li>Projection selector now includes quick selection of recently used
CRS’s.</li>
<li>Continuous color renderer supports point symbols now too.</li>
<li>Improved CMake support for building against dependencies from
OSGEO4W (Windows only). Addition of an XCode project of developers
building under OSX.</li>
<li>Updates and cleanups to the GRASS toolbox.</li>
<li>Changes in open vector dialog to support all drivers available in
ogr including database and protocol drivers. This brings with it support
for SDE, Oracle Spatial, ESRI personal geodatabase and many more OGR
supported data stores. Note that in some cases accessing these may
require third party libraries to be on your system.</li>
<li>The middle mouse button can now be used for panning.</li>
<li>A new, faster attribute table implementation.</li>
<li>Numerous cleanups to the user interface.</li>
<li>A new provider was added for spatiallite - a geodatabase-in-a-file
implementation based on the SQLITE database.</li>
<li>Vector overlay support that can draw pie and bar charts over vector
layers based on attribute data.</li>
</ul>
<h1 id="version-1.0.0-kore">Version 1.0.0 ‘Kore’</h1>
<p>This release includes over 265 bug fixes and enhancements over the
QGIS 0.11.0 release. In addition we have made the following changes:</p>
<ul>
<li>HIG Compliance improvements for Windows / Mac OS X / KDE /
Gnome</li>
<li>Saving a vector layer or subset of that layer to disk with a
different Coordinate Reference System to the original.</li>
<li>Advanced topological editing of vector data.</li>
<li>Single click selection of vector features.</li>
<li>Many improvements to raster rendering and support for building
pyramids external to the raster file.</li>
<li>Overhaul of the map composer for much improved printing
support.</li>
<li>A new ‘coordinate capture’ plugin was added that lets you click on
the map and then cut &amp; paste the coordinates to and from the
clipboard</li>
<li>A new plugin for converting between OGR supported formats was
added.</li>
<li>A new plugin for converting from DXF files to shapefiles was
added.</li>
<li>A new plugin was added for interpolating point features into ASCII
grid layers.</li>
<li>The python plugin manager was completely overhauled, the new version
having many improvements, including checking that the version of QGIS
running will support a plugin that is being installed.</li>
<li>Plugin toolbar positions are now correctly saved when the
application is closed.</li>
<li>In the WMS client, WMS standards support has been improved.</li>
<li>Tidy ups for GRASS integration and support for GRASS 6.4</li>
<li>Complete API revision - we now have a stable API following well
defined naming conventions.</li>
<li>Ported all GDAL/OGR and GEOS usage to use C APIs only.</li>
</ul>
<h1 id="version-0.11.0-metis">Version 0.11.0 ‘Metis’</h1>
<p>This release includes over 60 bug fixes and enhancements over the
QGIS 0.10.0 release. In addition we have made the following changes:</p>
<ul>
<li>Revision of all dialogs for user interface consistency</li>
<li>Improvements to unique value renderer vector dialog</li>
<li>Symbol previews when defining vector classes</li>
<li>Separation of python support into its own library</li>
<li>List view and filter for GRASS toolbox to find tools more
quickly</li>
<li>List view and filter for Plugin Manager to find plugins more
easily</li>
<li>Updated Spatial Reference System definitions</li>
<li>QML Style support for rasters and database layers</li>
</ul>
<h1 id="version-0.10.0-io">Version 0.10.0 ‘Io’</h1>
<p>This release includes over 120 bug fixes and enhancements over the
QGIS 0.9.1 release. In addition we have added the following new
features:</p>
<ul>
<li>Improvements to digitizing capabilities.</li>
<li>Supporting default and defined styles (.qml) files for file based
vector layers. With styles you can save the symbolisation and other
settings associated with a vector layer and they will be loaded whenever
you load that layer. Improved support for transparency and contrast
stretching in raster layers.</li>
<li>Support for color ramps in raster layers.</li>
<li>Support for non-north up rasters. Many other raster improvements
‘under the hood’.</li>
<li>Updated icons for improved visual consistency.</li>
<li>Support for migration of old projects to work in newer QGIS
versions.</li>
</ul>
<h1 id="version-0.9.2rc1-ganymede">Version 0.9.2rc1 ‘Ganymede’</h1>
<ul>
<li>This release candidate includes over 40 bug fixes and enhancements
over the QGIS 0.9.1 release. In addition we have added the following new
features:</li>
<li>Improvements to digitizing capabilities.</li>
<li>Supporting default and defined styles (.qml) files for file based
vector layers. With styles you can save the symbolisation and other
settings associated with a vector layer and they will be loaded whenever
you load that layer.</li>
<li>Improved support for transparency and contrast stretching in raster
layers. Support for color ramps in raster layers.</li>
<li>Support for non-north up rasters. Many other raster improvements
‘under the hood’.</li>
</ul>
<h1 id="version-0.9.1-ganymede">Version 0.9.1 ‘Ganymede’</h1>
<p>This is a bug fix release</p>
<ul>
<li>70 Bugs closed</li>
<li>Added locale tab to options dialog so that locale can be
overridden</li>
<li>Cleanups and additions to GRASS tools</li>
<li>Documentation updates</li>
<li>Improvements for building under MSVC</li>
<li>Python Plugin installer to install PyQGIS plugins from the
repository</li>
</ul>
<h1 id="version-0.9-ganymede">Version 0.9 ‘Ganymede’</h1>
<ul>
<li>Python bindings - This is the major focus of this release it is now
possible to create plugins using python. It is also possible to create
GIS enabled applications written in python that use the QGIS
libraries.</li>
<li>Removed automake build system - QGIS now needs CMake for
compilation.</li>
<li>Many new GRASS tools added (with thanks to http://faunalia.it/)</li>
<li>Map Composer updates</li>
<li>Crash fix for 2.5D shapefiles</li>
<li>The QGIS libraries have been refactored and better organised.</li>
<li>Improvements to the GeoReferencer</li>
</ul>
<h1 id="version-0.8-joesephine-.-development-version">Version 0.8
‘Joesephine’ …. development version</h1>
<ul>
<li>2006-01-23 [timlinux] 0.7.9.10 Dropped use of qpicture and
resampling for point markers in favour of qt4.1 qsvgrenderer new
goodies</li>
<li>2006-01-09 [timlinux] 0.7.9.8 Started Mapcanvas branch for
Martin</li>
<li>2006-01-09 [timlinux] 0.7.9.8 Moved plugins into src/plugins</li>
<li>2006-01-08 [timlinux] 0.7.9.8 moved all sources for gui lib into
src/gui</li>
<li>2006-01-08 [gsherman] 0.7.9.7 Moved providers to the src
directory</li>
<li>2006-01-08 [timlinux] 0.7.9.6 refactored libqgis into core and gui
libs.</li>
<li>2006-01-01 [timlinux] 0.7.9.5 removed community reg plugin and
exampl plugins</li>
<li>refactored composer code into its own lib in src/composer</li>
<li>renamed libqgsraster to libqgis_raster</li>
<li>rearranged src/Makefile so app target uses only main.cpp in SOURCES
and</li>
<li>links to a new very monolithic lib. Lib will be broken up into
smaller bits over time,</li>
<li>2005-11-30 [timlinux] 0.7.9.4 Refactored all src/*.ui into src/ui/
dir for cleaner separation of ui’s</li>
<li>2005-12-29 [gsherman] 0.7.9.3 Merged Ui branch into HEAD</li>
<li>2005-11-10 [timlinux] 0.7.9.2 Ported codebase to qt4 - still many
issues to sort out but it builds</li>
<li>2005-11-10 [timlinux] 0.7.9.1 Merged in 0.7 branch changes with Tom
Elwertowskis help</li>
<li>2005-10-13 [timlinux] 0.7.9 Added capability to generate point and
polygon based graticules to the grid_maker plugin</li>
</ul>
<h1 id="version-0.6-simon">Version 0.6 ‘Simon’</h1>
<p>QGIS Change Log</p>
<ul>
<li>2005-07-03 [morb_au] 0.7.devel2 Merged changes in the 0.7 release
candidate branch (as at “Release-0_7-candidate-pre1”) back into the
trunk.</li>
<li>2005-05-23 [gsherman] 0.7rc1 Fixed bookmarks bug related to
non-existent user database. The database is now properly created if it
doesn’t exist.</li>
<li>2005-04-12 [timlinux] 0.6devel26 Added option to vector props dlg to
let user change projection</li>
<li>2005-04-21 [timlinux] 0.6devel25 More updates to qgsspatialrefsys.
Changed splash to be a masked widget &amp; added the xcf masters for the
splash. Splash still needs some minor updating relating to text
placement.</li>
<li>2005-04-20 [timlinux] 0.6devel24 Added logic for reverse mapping a
wkt or proj4string to an srsid - not very well tested at this stage but
works for me with my test dataset</li>
<li>2005-04-17 [timlinux] 0.6devel23 Numerous fixes and clean ups to
projection handling</li>
<li>2005-05-15 [morb_au] 0.6devel21 Fixed a memory leak in the postgres
provider when retrieving features</li>
<li>Raster layers now align to the map canvas with subpixel source
accuracy (most useful when zooming in very close and the source pixels
cover many screen pixels)</li>
<li>2005-05-13 [didge] 0.6devel19 Tweaked makefile stuff and prepared
for a release</li>
<li>2005-04-17 [mcoletti] 0.6devel18 First whack at implementing
compensation for opening project files with stale data source
paths.</li>
<li>2005-04-17 [timlinux] 0.6devel17 Custom Projection dialog. Various
bugfixes plus delete, insert and update of new records possible. User
projections now whow in projection selector but are still not
usable</li>
<li>2005-04-16 [ges] 0.6.0devel16 Fixed bug 1177637 that prevented a
PostgreSQL connection from being completely deleted</li>
<li>2005-04-14 [timlinux] 0.6devel15 Wired up move first and move last
buttons on custom projection dialog</li>
<li>2005-04-14 [timlinux] 0.6devel14 Status bar widgets show text in 8pt
arial. Closes bug #1077217</li>
<li>2005-04-13 [timlinux] 0.6devel13 Show params on proj designer widget
when a projection is sleected</li>
<li>2005-04-12 [ges] 0.6.0devel12 Applied patches from Markus Neteler to
allow compilation on Qt 3.1</li>
<li>2005-04-12 [timlinux] 0.6devel12 Fix for [ 1181249 ] Crash when
loading shape files</li>
<li>2005-04-11 [timlinux] 0.6devel11 Data binding on projection and
ellipsoid selector on custom projection dialog</li>
<li>2005-04-11 [ges] 0.6.0devel10 Applied patches from Markus Neteler to
allow compilation on Qt 3.2</li>
<li>2005-04-11 [ges] Fixed default projection (WGS 84) so it is now
selected when the project properties dialog is opened and no projection
has been set.</li>
<li>2005-04-10 [timlinux] 0.6devel9 Added custom projection maker dialog
to main app menu. Dialog is still under construction.</li>
<li>2005-04-09 [ges] 0.6.0devel8 Fixed problems with the Makefile.am
related to the merge of Projections_Branch into HEAD</li>
<li>2005-04-09 [ges] 0.6.0devel7 Merged Projections_Branch into
HEAD</li>
<li>Polygon outlines are not drawn. This was checked twice and no cause
was found.</li>
<li>Projections do not work in all circumstances</li>
<li>Note that both the proj4 library and sqlite3 are now required. The
build system has not been modified to test for these yet.</li>
<li>Qt 3.3.x is required to build this source tree.</li>
<li>Make sure to increment the EXTRA_VERSION in configure.in when
committing changes.</li>
<li>Make sure to update the Changelog with each commit</li>
<li>2005-03-13 [jobi] 0.6.0devel6 - fix for building on 64bit
architecture fixed dependencies of designer-plugin/stuff</li>
<li>2005-01-29 [gsherman] 0.6.0devel5 Applied patches from M. Loskot for
a build error and missing Q_OBJECT macros in qgsspit.h and
qgsattributetable.h</li>
<li>2005-01-01 [larsl] 0.6.0devel4 Fixed a bug that crashed QGIS when
loading rasters from a project file, pt 2</li>
<li>2005-01-01 [larsl] 0.6.0devel3 Fixed a bug that crashed QGIS when
loading rasters from a project file</li>
<li>2004-12-30 [mcoletti] 0.6.0devel2 *Re-factored endian-handling in
data providers</li>
<li>Re-factored delimited text provider</li>
<li>Made some class members const-correct</li>
<li>2004-12-30 [larsl] 0.6.0devel1 Implemented getProjectionWKT() in
QgsGPXProvider</li>
<li>2004-12-19 [gsherman] 0.6.0rc2 Updated README Added main.cpp so spit
builds as standalone and plugin. Makefile.am modified so spit binary
installs in PREFIX dir</li>
<li>2004-12-19 [timlinux] 0.6.0rc2 Added Slovak translation from Lubos
Balazovic Massive documentation updates Updates to developer pictures
and the about box</li>
<li>2004-12-19 [mhugent] providers/ogr/qgsshapefileprovider.cpp: fix for
attribute problem in ogr provider</li>
<li>2004-12-05 [gsherman] 0.6.0rc2 Fixed bug 1079392 that caused QGIS to
crash when a query was entered that resulted in the layer being created
with no records. Additional validation of the SQL query was added to the
query builder. When OK is clicked on the builder dialog, the query is
sent to the database and the result checked to ensure that it will
create a valid PostreSQL layer. Added tr to a number of strings that
weren’t prepared for translation in the vector dialog properties code
Created QgsDataSourceURI structure to hold all the pertinent information
associated with a PostgreSQL layer connection, including host, database,
table, geometry column, username, password, port, and sql where
clause.</li>
<li>2004-12-03 [gsherman] 0.6.0rc1 Commented out excessive debug
statements in the postgres provider</li>
<li>2004-12-03 [gsherman] 0.6.0rc1 Changing the SQL query for a
PostgreSQL layer using the query builder from the vector layer
properties dialog now properly updates the mapcanvas extents and feature
count. Fix for crash in pg buffer plugin (bug 1077412). Crash is due to
the addition of sql where clause support in the postgres provider. The
provider was not checking to see if a sql key was included in the
datasource uri and thus copying the entire URI as the where clause. The
.shp extension is now added the new vector layer name (if not specified
by the user). The .qgs extension is now added to a project file when
using save or save as (if not specified by the user).</li>
</ul>
<h1 id="version-0.5">Version 0.5</h1>
<ul>
<li>2004-12-01 [gsherman] 0.5.0devel30 Added functions to
qgsdataprovider.h to support updating the feature count and extents. To
be supported, these functions must be implemented in the data provider
implementation. The default implementations don’t do anything
useful.</li>
<li>QgsVectorLayer now has functions for requesting feature count,
extent update, and the subset defintiion string (usually sql) from the
underlying data provider. Providers do not need to implement these
functions unless they want to support subsetting the layer via a layer
definition query or other means.</li>
</ul>
<p>2004-11-27 [larsl] 0.5.0devel30 Fixed feature addition in GPX layers,
it now works again</p>
<p>2004-11-22 [mcoletti] 0.5.0devel29 QgsProject properties now
re-designed to be similar to QSettings</p>
<p>2004-11-20 [timlinux] 0.5.0devel28 Added the capability to interrupt
the rendering of the currently drawing map layer by pressing the escape
key. Repeat and rinse to interrupt drawing of all vector layers. Not
implemented for raster layers yet.</p>
<p>2004-11-11 [gsherman] 0.5.0devel27 First pass at a PostgreSQL query
builder. This is not entirely functional yet. Fields for a table are
displayed and sample or all values can be displayed. Double-clicking on
a field name or sample value pastes it into the sql query box at the
current cursor position. The test function is not implemented yet nor is
the type checking to allow auto quoting of text values in the sql
statement.</p>
<p>2004-11-19 [mcoletti] 0.5.devel26 Changed QgsProject properties
interface to be more similar to QSettings. New properties are emitted to
file. There is a known bug with QStringLists in that thre’re redundant
copies written to the file. New properties aren’t read yet. Will be
adding code for that over next couple days.</p>
<p>2004-11-17 [timlinux] 0.5.0devel25 Added a little checkbox to the
bottom right of status bar that when checked will suppress rendering of
layers in main canvas and overview canvas, This is useful if you want to
load a bunch of layers and tweak their symbology etc without having
delays caused by rerendering everything after each change you make.</p>
<p>2004-11-16 [larsl] 0.5.0devel24 Reimplemented nextFeature() so
features are visible again</p>
<p>2004-11-13 [larsl] 0.5.0devel23 Changed QgsIdentifyResults and
QgsVectorLayer to show all attributes automatically (expand the feature
node) if only one feature is identified</p>
<p>2004-11-11 [gsherman] 0.5.0devel22 Added ifdef’s for WIN32 around
dynamic_casts in the vector renderer dialogs. Even though rtti is
enabled, use of dynamic casts causes seg faults under WIN32.</p>
<p>2004-11-09 [timlinux] 0.5.0devel21 Added options to graticule builder
to allow you to define origin and endpoints and to set the graticule
size at &lt; 1 degree. Note that there is little error checking in there
still, so putting in dodgy numbers may cause qgis to crash.</p>
<p>2004-11-04 [timlinux] 0.5.0devel20 Added scale dependent visibility
support to both raster and vector layers.</p>
<p>2004-11-02 [larsl] 0.5.0devel19 Added menu item for creating an empty
GPX file</p>
<p>2004-10-31 [timlinux] 0.5.0devel18 Fix bug #1047002 (label buffer
enabled / disabled checkbox not working)</p>
<p>2004-10-30 [larsl] 0.5.0devel17 qgsfeature.h is needed in
qgsvectordataprovider.cpp since it’s deleting a QgsFeature, fixed it</p>
<p>2004-10-29 [larsl] 0.5.0devel16 Added defaultValue() in
QgsVectorLayer and QgsVectorDataProvider, implemented it in the GPX
provider</p>
<p>2004-10-29 [stevehalasz] 0.5.0devel15 - Write layers to projects
files in the proper order by iterating over the zOrder in the map
canvas. Fixes bug #1054332.</p>
<ul>
<li>Remove the <zorder> tag from the dtd. It is superfluous.</li>
</ul>
<p>2004-10-26 [mcoletti] 0.5.0devel13 regarding saving and restoring
units in project files. made many minor bug fixes and tidying up</p>
<p>2004-10-22 [larsl] 0.5.0devel12 Removed more unused code in the GPS
plugin, changed the GPS plugin source to follow the coding standards
better</p>
<p>2004-10-22 [larsl] 0.5.0devel11 Some changes in the GPS plugin: -
Changed the tooltip of the action from “GPS Importer” to “GPS Tools” -
Removed some old unused code - Made the upload/download tools much more
flexible by letting users specifying “devices” with upload and download
commands - Remember the last used device and port for uploads and
downloads - Remember the last directory that a GPX file was loaded
from</p>
<p>2004-10-20 [mcoletti] 0.5.0devel10 merged in qgsproject-branch</p>
<p>2004-10-19 [larsl] 0.5.0devel9 Changed GPX attribute names from three
letter abbreviations to more userfriendly whole words</p>
<p>2004-10-19 [larsl] 0.5.0devel8 Changed mFeatureType in
qgsgpxprovider.cpp from a QString to an enum to avoid unnecessary string
comparisons</p>
<p>2004-10-18 [gsherman] 0.5.0devel7 Added test for GEOS to acinclude.m4
and configure.in Added members/methods in preparation for support of
scale dependent rendering Added Display tab to the vector dialog to
allow setting of min and max scales for rendering</p>
<p>2004-10-18 [larsl] 0.5.0devel6 Removed duplicate code, added bounds
calculation for digitized features in the GPX provider</p>
<p>2004-10-18 [larsl] 0.5.0devel5 Changes to the GPX provider: -
Implemented isEditable(), isModified(), commitChanges(), and rollBack()
- Removed the useless lat and lon attributes in waypoint features -
Cleaned up the attribute parsing in addFeature() GPX editing should now
work again.</p>
<p>2004-10-17 [gsherman] 0.5.0devel4 OGR provider now uses GEOS to
select features when doing identify and select operations.</p>
<p>2004-10-16 [gsherman] 0.5.0devel3 Fixed OGR filters in the add layer
dialog box using fix in qgsproject-branch Reverted images in
qgisappbase.ui to XPM so QGIS will compile on Qt &lt; 3.x</p>
<p>2004-10-11 [gsherman] 0.5.0devel2 Added man page (qgis.man) that gets
installed in man1 as qgis.1</p>
<p>2004-10-09 [gsherman] 0.5.0devel1 Changed name to Simon Added Simon
splash screen Fixed command line loading bug to eliminate bogus warning
for vector layers Modified splashscreen.cpp to allow specification of
x,y for text drawing on the splash image Imperfectly fixed problem where
PostGIS attributes aren’t displayed if the primary key is not of type
int4 (bug 1042706). Added Latvian translation file (untranslated at
present)</p>
<p>2004-09-23 [larsl] 0.4.0devel38 Removed support for loading
Geocaching.com LOC files</p>
<p>2004-09-20 [tim] 0.4.0devel37 Shameless acknowledge not keeping this
file up to date! Sort out clipping problems with labeller</p>
<p>2004-09-20 [larsl] 0.4.0devel36 Added the element definition of
uniquevaluemarker to qgis.dtd</p>
<p>2004-09-20 [larsl] 0.4.0devel35 Re-fixed bug 987874, the provider
will now skip geometry-less features but keep reading other features</p>
<p>2004-09-20 [larsl] 0.4.0devel34 Fixed bug 987874 which caused QGIS to
crash when showing the attribute table for shapefile layers with
features with NULL geometry (GetGeometryRef() returns NULL) - the OGR
provider now treats features with NULL geometry as NULL features,
i.e. EOF</p>
<p>2004-09-15 [larsl] 0.4.0devel33 Fixed QgsUValMaDialogBase so the
listbox doesn’t take up all of the space</p>
<p>2004-09-14 [larsl] 0.4.0devel32 Added the SVG icons in
src/svg/gpsicons</p>
<p>2004-09-13 [larsl] 0.4.0devel31 Added the unique value marker
renderer</p>
<p>2004-09-12 [larsl] 0.4.0devel30 Scale down SVG symbols Display
rasters without geotransform info as “1 pixel = 1 unit”</p>
<p>2004-09-12 [larsl] 0.4.0devel29 Fixed bug in scale_bar plugin that
would cause QGIS to freeze when a layer with one point was loaded</p>
<p>2004-09-12 [larsl] 0.4.0devel28 The device lists in the GPS plugin
should show /dev/ttyUSB- devices too now (for serial USB adapters) on
Linux</p>
<p>2004-09-08 [larsl] 0.4.0devel27 Fixed bug that crashed QGIS when the
user selected records in the attribute table for a layer that used the
single marker renderer</p>
<p>2004-09-01 [mcoletti] 0.4.0devel26 Start of new qgs project file
class. Obviously work-in-progress.</p>
<p>Committed for back-up sanity and to elicit comments from the
bored.</p>
<p>2004-09-01 [mcoletti] 0.4.0devel25 QgsRect :</p>
<ul>
<li>no longer waste copy of QgsPoint in ctor</li>
</ul>
<p>2004-08-14 [gsherman] 0.4.0devel23 Moved plugin toolbar to the
qgisappbase toolbar container rather than dynamically allocating it.
This allows the state/docking position gets restored each time the app
starts.</p>
<p>2004-08-26 [mcoletti] 0.4.0devel22 qgisapp.cpp:</p>
<ul>
<li>fixed bug 1017079, where loading projects would cause app to
crash</li>
</ul>
<p>qgsprojectio.cpp:</p>
<ul>
<li>minor code change; commented out superfluous code</li>
</ul>
<p>2004-08-26 [mcoletti] 0.4.0devel21 Now explicitly check for command
line arguments via $# instead of $@. Using $@ caused the script to crash
when more than one command line argument was passed in. (E.g.,
specifying multiple files for CVS commits.)</p>
<p>2004-08-25 [mcoletti] 0.4.0devel20 Now explicitly use
QgsMapLayerRegistry instance instead of data members. (Of which two both
referred to the same instance.)</p>
<p>2004-08-25 [mcoletti] 0.4.0devel19 Deleted two data members that
referred to the Singleton object QgsMapLayerRegistry. Now explicitly use
QgsMapLayerRegistry::instance(), which emphasizes that you’re accessing
a Singleton.</p>
<p>2004-08-22 [larsl] 0.4.0devel18 Fixed a bug that caused SVG markers
to be huge when oversampling was turned on</p>
<p>2004-08-22 [larsl] 0.4.0devel17 Fixed transparency in SVG sumbols</p>
<p>2004-08-21 [larsl] 0.4.0devel16 Added a black frame around the white
rectangle around SVG symbols to make it look cleaner, can be removed
when transparency is fixed</p>
<p>2004-08-20 [larsl] 0.4.0devel15 Added more attribute fields to the
GPX provider: cmt, desc, src, sym, number, urlname</p>
<p>2004-08-20 [larsl] 0.4.0devel14 Forgot to calculate bounds for
user-added routes and tracks in the GPX provider, which caused
unpredictable drawing bugs since selection wouldn’t work. Fixed.</p>
<p>2004-08-14 [gsherman] 0.4.0devel13 Moved common toobar icons to
drop-down tool menus. This includes the overview, hide/show all, and
capture tools</p>
<p>2004-08-18 [jobi] 0.4.0devel12 added Italian translation thanx to
Maurizio Napolitano updated all translations</p>
<p>2004-08-17 [larsl] 0.4.0devel11 Implemented GPX file writing - GPX
layers are now written back to file when features are added</p>
<p>2004-08-17 [larsl] 0.4.0devel10 - More digitizing support for the GPX
provider. Routes and tracks can now be created. Nothing is written to
file yet.</p>
<p>2004-08-14 [gsherman] 0.4.0devel9 Added mouse wheel zoom. Moving
wheel forward zooms in by a factor of 2.</p>
<p>2004-08-12 [gsherman] 0.4.0devel8 Rearranged capture icons and added
them to the MapNavigation action group so that the icons remain
depressed while the tool is active. (bugs 994274 and 994272) Fixed
preferences bug (992458) that caused themes to disappear when setting
options.</p>
<p>2004-07-19 [gsherman] 0.4.0devel7 Fixed broken setDisplayField
function in qgsvectorlayer Added display/label field handling. Field is
now set when the layer is added by examining the fields and attempting
to make a “smart” choice. The user can later change this field from the
layer properties dialog. This field is used as the item name in the
identify box (top of the tree for each feature and its attributes) and
will eventually be used in labeling features. Cleanup of postgres add
layer dialog Removed excessive debug output from qgsfeature</p>
<p>2004-07-18 [larsl] 0.4.0devel6 Changed Graduated Marker renderer to
use the SVG cache</p>
<p>2004-07-17 [larsl] 0.4.0devel5 Added SVG cache and started using it
in the Single Marker renderer</p>
<p>2004-07-10 [larsl] 0.4.0devel4 Added code to QgsProjectIo that saves
and loads the provider key of a vector layer in the project file, so
delimited text layers and GPX layers can be saved in a project. Haven’t
tested for grass vector layers, but it should work.</p>
<p>2004-07-09 [gsherman] 0.4.0devel3 First pass at defining PostgreSQL
layers using a where clause in the data provider. UI may need some work.
When adding a PG layer, double- click on the layer name to define the
where clause. Do not include the where keyword 2004-07-05 [ts]
0.4.0devel2 Added option for forcing redraw when adding a raster -
intended for use by plugins.</p>
<p>2004-07-05 [larsl] 0.4.0devel1 Moved lots of code from PluginGui to
Plugin in the GPS plugin, use signals and slots for communication</p>
<p>2004-06-30 [jobi] 0.3.0devel58 made ready for release added interface
version for libqgis</p>
<p>2004-06-28 [gsherman] 0.3.0devel57 Overview extent rectangle bug fix
Patch (from strk) for PG layer extent calculation QgsActetate-
documentation updates</p>
<p>2004-06-28 [jobi] 0.3.0devel56 fix bug #981159 cleaned warnings</p>
<p>2004-06-28 [ts] 0.3.0devel55 Added show/hide all layers buttons and
menu items</p>
<p>2004-06-27 [larsl] 0.3.0devel54 Enabled GPS upload code again</p>
<p>2004-06-27 [ts] 0.3.0devel53 Numerous bug fixes and cleanups. Added
remove all layers from overview button.</p>
<p>2004-06-26 [ts] 0.3.0devel52 Extents are now correctly restored when
project is loaded</p>
<p>2004-06-24 [ts] 0.3.0devel51 Completion of projection fixes to freeze
canvas and restore zorder correctly. Small issue with restoring extents
properly needs to be resolved still.</p>
<p>2004-06-23 [mcoletti] 0.3.0devel50 Fixed bug whereby one couldn’t
downcast from QgsMapLayer- to a QgsVectorLayer*. Apparently this was
because dlopen()’d files didn’t have full access to global variables.
Now plug-ins can use global variable by linking with -rdynamic and using
dlopen()’s RTLD_GLOBAL flag.</p>
<p>2004-06-21 [ts] 0.3.0devel49</p>
<p>Revised raster stats emitting of progress update to not do it when
stats are fetched from cache. QGisApp progress bar now updates as each
layer is rendered in the mapCanvas.</p>
<p>Some minor updates to projection</p>
<p>2004-06-21 [larsl] 0.3.0devel48 Hooked up the GPS gui to code that
uses gpsbabel to import lots of GPS file formats to GPX</p>
<p>2004-06-21 [jobi] 0.3.0devel47 Added check for wrong UI version to
make release fixed wrong versions and DOS endlines</p>
<p>2004-06-21 [ts] 0.3.0devel46</p>
<p>Got tired of always resetting my gidbase dir every time qgis restarts
- added it to qsettings.</p>
<p>2004-06-21 [ts] 0.3.0devel45</p>
<p>Complete buffering so that bar as well as text will be visible on
both light and dark surfaces.</p>
<p>2004-06-21 [ts] 0.3.0devel44</p>
<p>Fix for bug [ 973922 ] Overview shows layers in wrong order</p>
<p>Fixed show stopper bug where maplayerregistry wasn’t being cleared
properly on file new</p>
<p>Added setZOrder which will be used in next commit to fix projection
zorder problem</p>
<p>2004-06-20 [ts] 0.3.0devel43</p>
<p>Fix annoying ‘mapcanvas isn’t freezing while loading rasters’ bug</p>
<p>2004-06-19 [ts] 0.3.0devel42</p>
<p>Add white buffer around scalebar text…buffer around lines to
come…</p>
<p>2004-06-18 [larsl] 0.3.0devel41 Added an option for setting the
length of the scale bar to closest integer &lt; 10 times power of 10</p>
<p>2004-06-16 [ts] 0.3.0devel40</p>
<p>Win32 support for package path - which will hopefully ensure pyramid
and overview mini icons are displayed on legend entry now.</p>
<p>Beginnings of generic vector file writer - incomplete and doesn’t do
anything useful yet except has ability to make a shapefile with a couple
of user defined fields e.g. to create a new point shapefile:</p>
<pre><code>QgsVectorFileWriter myFileWriter(&quot;/tmp/test.shp&quot;, wkbPoint);
if (myFileWriter.initialise())  //#spellok
{
myFileWriter.createField(&quot;TestInt&quot;,OFTInteger,8,0);
myFileWriter.createField(&quot;TestRead&quot;,OFTReal,8,3);
myFileWriter.createField(&quot;TestStr&quot;,OFTString,255,0);
myFileWriter.writePoint(&amp;theQgsPoint);
</code></pre>
<p>2004-06-16 [larsl] 0.3.0devel40 Added skeleton code for importing
other GPS file formats using GPSBabel</p>
<p>2004-06-16 [ts] 0.3.0devel39 Added small icon displayed on raster
legend showing whether this layer is in overview or not. This icon needs
“petification!”. Need to do the ame for vector once I figure out where
to put the code!’</p>
<p>2004-06-16 [ts] 0.3.0devel38 Added new menu / toolbar option to add
all loaded layers into the overview.</p>
<p>2004-06-15 [larsl] 0.3.0devel37 More preparation for GPS upload code
New function in QgisInterface - getLayerRegistry()</p>
<p>2004-06-14 [ts] 0.3.0devel36 Added capability for plugins to clear
the current project ignoring the project dirty flag (ie force new
project).</p>
<p>2004-06-14 [ts] 0.3.0devel35 Added addRasterLayer(QgsRasterLayer *)
to the plugin interface. This allows plugins to construct their own
raster object, set its symbolisation and the pass it over to the app to
be loaded into the canvas.</p>
<p>2004-06-13 [ts] 0.3.0devel34 Removed gdal deps in qgisapp.</p>
<p>Moved raster load stuff to a group at the end of qgisapp.cpp
file.</p>
<p>Removed generically usable raster fns from qgisapp to static methods
of qgsrasterlayer.</p>
<p>Some renaming of variable names etc.</p>
<p>Added addRaster(QgsRasterLayer *) private method to qgisapp - which
is intended for use via plugins that want to load ‘ready made’ /
symbolised raster layer into the mapCanvas.</p>
<p>2004-06-13 [ts] 0.3.0devel33</p>
<p>Globally changed legen item fonts to arial 10pt for consistency with
rest of ui. Will soft code in qgsoptions in next release.</p>
<p>2004-06-13 [ts] 0.3.0devel32 Add version name to splash</p>
<p>2004-06-13 [ts] 0.3.0devel31 Implemented a new map cursor type :
Capture Point (little pencil icon on your toolbar). At the moment
clicking on the map in capture point mode will cause QgsMapCanvas to
emit an xyClickCoordinate(QgsPoint) signal which is picked up by qgisapp
and the coordinates are placed into the system clipboard.</p>
<p>In release 0.5 this will be extended to provide simple point vector
file data capture / digitizing facility. This will be implemented by
means of a plugin which will utilize the aforementioned
xyClickCoordinate(QgsPoint) signal.</p>
<p>2004-06-12 [gsherman] 0.3.0devel30 Windows support – lots of
changes</p>
<p>2004-06-11 [larsl] 0.3.0devel29 Let the user choose GPS protocol and
feature type to download</p>
<p>2004-06-10 [gsherman] 0.3.0devel28 Added display of extent rectangle
in the overview map. Current implementation is not optimized (requires
repaint of the overview canvas to display updated rectangle) Added
acetate layer support to the map canvas. Currently there is only one
acetate object type - QgsAcetateRectangle, which inherits from
QgsAcetateObject. More acetate types will follow…</p>
<p>2004-06-10 [ts] 0.3.0devel27 Modified projection (serialisation and
deserialisation of project files) to use maplayerregistry and not
mapcanvas.</p>
<p>Implemented state handling of ‘showInOverview’ property in project
io. 2004-06-10 [petebr] 0.3.0devel26 Tidied up the SPIT gui to match the
plugin template. Fixed bug in scale bar which displayed the bar the
wrong size! Fixed all the plugins so they do not do multiple refreshes
on exit. Added color selection for scale bar.</p>
<p>2004-06-09 [mcoletti] 0.3.0devel25 Added support for a feature type
name in QgsFeature. The GDAL/OGR shape file provider now also provides
the feature type name.</p>
<p>2004-06-09 [petebr] 0.3.0devel24 Added the scale bar plugin. My first
solo plugin! :-)</p>
<p>2004-06-09 [ts] 0.3.0devel23 Added “Show in overview” option to
vector popup menu.</p>
<p>Removed overview stuff from debug only version of qgisapp.</p>
<p>Did plumbing for enabling disabling layers in overview from popup
context menu.</p>
<p>Whoopdeedooo. :-)</p>
<p>All that remains to do now is sort out syncronisation of layer
ordering between main map canvas and overview canvas.</p>
<p>2004-06-09 [ts] 0.3.0devel22 Fixed bug that causes qgis to crash when
an empty .dbf is encountered. Added transparency slider to raster popup
menu.</p>
<p>2004-06-09 [larsl] 0.3.0devel21 Hid the “GPS download file importer”
tab</p>
<p>2004-06-08 [larsl] 0.3.0devel20 Call GPSBabel using QProcess instead
of system(), show a progress bar while GPSBabel is running, show the
messages printed to GPSBabel’s stderr if something goes wrong</p>
<p>2004-06-08 [larsl] 0.3.0devel19 Started adding GPS data download
capability. Only tracklogs from Garmin devices for now, routes and
waypoints and Magellan support will come in the near future.</p>
<p>2004-06-08 [jobi] 0.3.0devel18 updated ts files fixed German
translation added translation support to external help applications
(grid_maker and gpsimporter)</p>
<p>2004-06-07 [gsherman] 0.3.0devel17 Added update threshold to user
options. Update threshold defines the number features to read before
updating the map display (canvas). If set to zero the display is not
updated until all features have been read.</p>
<p>2004-06-07 [larsl] 0.3.0devel16 Changed some calls to
QMessageBox::question() to QMessageBox::information() since Qt 3.1.2
doesn’t have question()</p>
<p>2004-06-07 [ts] 0.3.0devel15 Implemented map overview using maplayers
rather than snapshots of a raster layer.</p>
<p>Implemented QgsMapLayerRegistry - s singleton object that keeps track
of loaded layers. When a layer is added an entry is made in the
registry. When a layer is removed, the registry emits a
layerWillBeRemoved signal that is connected to any mapvcanvas, legend
etc that may be using the layer. The objects using the layer can then
remove any reference they make to the layer - after which the registry
deletes the layer object.</p>
<p>This fixes a problem with adding an overview map which caused qgis to
crash when a layer was removed because it was trying to delete the same
pointer twice.</p>
<p>Added a better implementation of the overview map below map
legend.</p>
<p>Refactoring in qgis app - all private members now adhere to qgis
naming conventions (prefixed with m).</p>
<p>Import Note <em>ONLY THE MAPLAYER REGISTRY SHOULD DELETE
QgsMapLayer::LayerType NOW </em></p>
<p>2004-06-03 [ts] 0.3.0devel14 Added getPaletteAsPixmap function to
raster and display on raster props dialog. Also added gdaldatatype to
raster props metadata dialog.</p>
<p>2004-06-04 [jobi] 0.3.0devel13 fixed tims typo with GDAL_LDADD
cleaned pluginnames</p>
<p>2004-06-03 [jobi] 0.3.0devel12 fixed bug #965720 by adding math.h for
gcc 3.4 problems</p>
<p>2004-06-02 [ts] 0.3.0devel11 Changed maplayer draw() and its
subclasses vectorlayer and rasterlayer to not need src parameter (this
can be obtained from painter-&gt;device()).</p>
<p>More work on print system - still only works well on A4
landscape.</p>
<p>Northarrow and copyright label plugins now hidethemselves before
emitting update signals when OK is pressed.</p>
<p>QGSMapCanvas can now return the (last calculated) scale using
getScale</p>
<p>QGSMapCanvas Impl struct rename to CanvasProperties. QgsMapCanvas
impl_ member renamed to mCanvasProperties.</p>
<p>2004-05-31 [ts] 0.3.0devel10 Added basic print capability to
qgis….consider this a work in progress. 2004-05-31 [gsherman]
0.3.0devel9 Changed QgsIdentifyResultsBase to inherit from QWidget
instead of QDialog so window position can be saved/restored from user
settings each time. Changed qgis.h int version number to 300 (should
have been done at release)</p>
<p>2004-05-30 [ts] 0.3.0devel8 Fix poorly placed status text on splash
screen.</p>
<p>2004-05-27 [gsherman] 0.3.0devel7 Fixed schema problem with the spit
plugin</p>
<p>2004-05-27 [jobi] 0.3.0devel7 cleanup of gcc warnings</p>
<p>2004-05-27 [petebr] 0.3.0devel6 Altered buttons on GUI to a
standardised layout - HELP - APPLY - OK - CANCEL</p>
<p>2004-05-26 [gsherman] 0.3.0devel5 Added theme selection to the user
preferences dialog. Currently there is only one theme (default)
available</p>
<p>2004-05-26 [gsherman] 0.3.0devel4 Added theme support for loading png
icons during startup. This solves ugly icon problem when encoded as xpm
in the ui files. See comments in the QgisApp::settheme() function for
details</p>
<p>2004-05-26 [larsl] 0.3.0devel3 Added some calls to
std::string::c_str() to hopefully make Qt without STL happy</p>
<p>2004-05-26 [larsl] 0.3.0devel2</p>
<p>2004-05-26 [larsl] 0.3.0devel1 Fixed a bug that caused the legend
checkboxes to always be unchecked when using Qt 3.1.2 by removing
QgsLegendItem::setOn(), don’t know how this affects newer Qt</p>
<p>2004-05-25 [larsl] 0.2.0devel37 Show the legend widgets in debug mode
too</p>
<p>2004-05-25 [larsl] 0.2.0devel36 Fixed some more instances of the same
bug in raster layer</p>
<p>2004-05-25 [ts] 0.2.0devel35 Disable overview widget for release.
Minor bugfix in rasterlayer picker up by Larsl which is only encountered
bu i8n users. Miscellaneous other fixes including proper rotation
support for north arrows in all 4 corners of display, inproved refresh
behavior of n-arrow and copyright plugin, better state hadnling for
copyright plugin.</p>
<p>2004-05-25 [larsl] 0.2.0devel34 Updated all ts files and translated
new messages in the swedish file</p>
<p>2004-05-25 [larsl] 0.2.0devel33 Updated the swedish translation</p>
<p>2004-05-25 [larsl] 0.2.0devel32 Resaved
plugins/copyright_label/pluginguibase.ui with designer 3.1 to fix const
problem</p>
<p>2004-05-20 [ts] 0.2.0devel31 First working version for gui pyramid
manager (implemented as tab in raster props). Raster legend entry now
stretched to width of legend and show an icon indicating whether the
layer has overviews or not. Added struct and qvaluelist to raster to
store pyramids state in.</p>
<p>2004-05-20 [gsherman] 0.2.0devel30 Changed release name to Madison in
qgis.h Added QgsScaleCalculator to libqgis spec in src/Makefile.am
Additional debug statements in grass data provider</p>
<p>2004-05-20 [ts] 0.2.0devel29 Added pyramid / no pyramid icon to
raster legend entry and made legend pixmap fill up all available space
in leend width. Added new dir for icons in src that will be installed to
PKGPATH/share/icons</p>
<p>2004-05-20 [ts] 0.2.0devel28 Changed splash to load picture from file
instead of an xpm include. This will hopefully speed up compile times
for folks building on p133’s. Changed splash image to the fluffball
ready for 0.3 release.</p>
<p>2004-05-19 [larsl] 0.2.0devel27 Implemented
nextFeature(list<int>&amp;) in the GPX provider</p>
<p>2004-05-18 [gsherman] 0.2.0devel26 Saved the qgsappbase.ui and the
qgsprojectpropertiesbase.ui files (modified at version 0.2.0devel25)
using qt designer 3.1.2 to preserve backward compatibility.</p>
<p>2004-05-18 [gsherman] 0.2.0devel25 Changes to implement scale display
for map data in feets, meters, and decimal degrees. A new menu item is
added to the Tools menu for selecting the map units. This setting is
currently not saved with a project file. TODO:Modify qgis.dtd and
project save/load to support map units.</p>
<p>NOTE - the qgisapp.ui file was created with qt 3.3.x and WILL NOT
WORK with qt 3.1.2. This will be changed as soon as I can find my 3.1.2
version of qt designer…</p>
<p>2004-05-18 [ts] 0.2.0devel24 Relax checking of raster filetype
extensions to cater for filetypes where extension is unpredictable
(e.g. grass). Now I use gdal to quickly check if a file is usable so
pretty much anything gdal iscompile with should get through if you have
chosen wildcard filter in add raster dialog.</p>
<p>2004-05-17 [larsl] 0.2.0devel23 Added URL parsing and attribute
fields for route and track GPX layers</p>
<p>2004-05-17 [ts] 0.2.0devel22 Added support to Save As Image to save
in any QImageIO supported format. File-&gt;SaveAsImage dialog filter
list now generated automagically by interrogating QImageIO for its
supported formats. File-&gt;SaveAsImage remembers last dir used (stored
in qsettings). Its supposed to remember last filter used but there is an
issue with that that needs to be resolved.</p>
<p>2004-05-16 [larsl] 0.2.0devel21 Added url/link parsing to the GPX
provider</p>
<p>2004-05-16 [larsl] 0.2.0devel20 Corrected file name extension for PNG
files</p>
<p>2004-05-15 [larsl] 0.2.0devel19 Added my picture in the About dialog
to attract more female users to QGIS</p>
<p>2004-05-13 [ts] 0.2.0devel18 Raster properties changes: Switched
order of general tab and symbology tab - as you normally change straight
to symbology tab anyway. Removed stats tab and consolidated stats into
metadata tab. Clean ups on metadata tab.</p>
<p>2004-05-13 [ts] 0.2.0devel17 Raster stats tab now displays
pyramid/overview info</p>
<p>2004-05-14 [larsl] 0.2.0devel16 Cleaned up the enabling/disabling of
controls in the GPS dialog Changed the order in which different layers
are loaded from a GPX file Added the basename of the GPX or LOC file in
the layer name Changed the plugin name to the more general “GPS
Tools”</p>
<p>2004-05-14 [larsl] 0.2.0devel15 Fixed a bug that caused the canvas to
have a fixed width of 400 with my Qt version - the main grid layout for
the main window had one extra column</p>
<p>2004-05-14 [larsl] 0.2.0devel14 Added a tab for loading GPX and LOC
files to the GPS plugin dialog</p>
<p>2004-05-14 [larsl] 0.2.0devel13 Added a virtual destructor to
QgsDataProvider and deleted dataProvider in the destructor for
QgsVectorLayer</p>
<p>2004-05-13 [larsl] 0.2.0devel12 Changing std::string to QString in
GPSData::getData() and GPSData::releaseData() to support Qt libraries
built without STL support</p>
<p>2004-05-13 [ts] 0.2.0devel11 Fixes for segfaults on grid_make and
gps_importer dbf creation</p>
<p>2004-05-12 [gsherman] 0.2.0devel10 Fixes for OS X endian bug (needs
further testing)</p>
<p>2004-05-12 [jobi] 0.2.0devel9 Added endian checks in configure
decreased versions in the auto- checks</p>
<p>2004-05-12 [ts] 0.2.0devel8 Added addProject(QString) to plugin
interface.</p>
<p>2004-05-05 [jobi] 0.2.0devel7 Extended qgis-config to expose
version</p>
<p>2004-05-04 [ts] 0.2.0devel6 Added two new internal plugins - North
Arrow and Copyright message overlay</p>
<p>2004-05-03 [ts] 0.2.0devel5 Canvas now emits renderComplete signal
when rendering of cnavas has completed, but before the screen is
refreshed. Added accessor and mutators for the canvas pixmap.</p>
<p>2004-05-03 [ts] 0.2.0devel4 qgisApp-&gt;mapCanvas is now exposed
through the plugin interface.</p>
<p>2004-05-03 [ts] 0.2.0devel3 Added three new widgets to status bar:
scale - which shows the scale in the form 1:50000 * coordinates - shows
coordinates of mouse on map in its own widget progressbar - shows the
progress of any task that emits signals connected to showProgress
slot</p>
<p>Added signal / slot mechanism for showExtents and set fp precision to
2 (see below)</p>
<p>stringRep function in QgsRect and QgsPoint now overloaded to allow
setting floating point precision for display. QgisApp &amp; canvas are
currently hard coding this to 2 but I plan to make this user
configurable in the options panel.</p>
<p>Added example of using progress indicator to raster stats gathering
procedure. You can see this in action by setting ak_shade example
dataset to singleband pseudocolor and you will see progress indicator
advancing as stats are gathered.</p>
<p>*NOTE: scale calculations may not be correct at this point - they are
still under development.</p>
<p>2004-04-27 [ts] 0.2.0devel2</p>
<p>Added preliminary support for building pyramids in raster files using
the GDAL overview function. Currently it is hard coded to use Nearest
neighbour algorithm with pyramids at levels 2, 4 and 8. Adding pyramids
to your raster layer can greatly improve rendering performance. This new
functionality is accessed by right clicking on a raster legen entry and
choosing ‘Build Pyramids’ from the popup menu.</p>
<p><em>PLEASE USE WITH CAUTION </em> This current implementation does
not warn you of possible side effects including:</p>
<ul>
<li>possible image degradation if too many pyramids are generated</li>
<li>possuble large increase in image side</li>
<li>currently this process IS NOT KNOWN TO BE REVERSIBLE so please
backup data first before experimenting.</li>
</ul>
<p>2004-04-27 [ts] 0.2.0devel1</p>
<p>Rejigged single marker symbol so directory, icon selector, preview
and scaling widget are all in one panel rather than having to spawn a
new window to select an icon.</p>
<p>2004-04-27 [ts] 0.2.0devel0</p>
<p>Fixed broken bits in internal plugin builder template and updated
default plugin template gui,</p>
<p>Version 0.2 ‘Pumpkin’ …. development version</p>
<p>2004-04-25 [jobi] 0.1.0devel36 Added i18n tools to EXTRA_DIST Updated
German translation fixed a typo -&gt; other translations changed too</p>
<p>2004-04-22 [jobi] 0.1.0devel35 added install routine for svg files
added new translations adjusted paths in the cpp files</p>
<p>2004-04-19 [jobi] 0.1.0devel34 Changed to simple macros for detecting
QT and GDAL Added code for detecting QGIS as m4 file to tools this will
be installed together with QT and GDAL detection to
$prefix/share/aclocal/qgis.m4 so the plugins can just use those simple
unique macros updated German translation !! Developers have to link the
installed qgis.m4 to /usr/share/aclocal/ !! or where ever aclocal keeps
the m4 files !! otherwise it’s not detected by the plugins autogen.sh
(more exactly !! aclocal) !! It can be cheated by adding -I
path/to/qgis.m4 to the aclocal of !! autogen.sh. But be careful not to
commit that to CVS</p>
<p>2004-04-18 [jobi] 0.1.0devel33 Added internationalisations stuff
Needs some documentation and more translations :-)</p>
<p>2004-04-17 [ts] 0.1.0devel32 Fix for crash when opening singleband
grayscale images introduced by Steves fix for crash when opening
MULTIBAND_SINGLEBAND_GRAYSCALE images. Thanks to Steves help, all eight
raster renderers are now working properly. This resolves bug : [ 934234
] Segfault when drawing multiband image band as grayscale</p>
<p>2004-04-06 [ts] 0.1.0devel31 Added new plugin (grid_maker) to build
arbitrary sized graticules and add them to the current map view.</p>
<p>2004-04-05 [jobi] 0.1.0devel30 fixed qgiscommit (didn’t work when in
qgis root) cosmetics for qgis-config to be more “standardconform”</p>
<p>2004-04-04 [jobi] 0.1.0devel29 fixed GRASS provider</p>
<p>2004-04-03 [ts] 0.1.0devel28 Bug fix (still unconfirmed if it cures
the bug!) for raster layer rendering artifacts.</p>
<p>Added new color ramper for grayscale and pseudcolor grayscale image
called freak out (its a bit psycadellic at the moment). Last class break
ne eds some work!</p>
<p>2004-04-02 [jobi] 0.1.0devel27 Added version checks for autoconf,
automake and libtool Small bugfixes</p>
<p>2004-04-02 [mcoletti] 0.1.0devel26 Rolling forward
QgsFeature::setGeometry() interface change whereby the size of the well
known type geometry binary buffer is also now passed in.</p>
<p>2004-04-02 [mcoletti] 0.1.0devel25 Compensating for
QgsFeature::setGeometry() now accepting “size” parameter for the given
binary geometry string.</p>
<p>QgsShapeFileProvider::endian() now uses shorter, standard way of
computing endian-ness.</p>
<p>2004-04-02 [stevehalasz] 0.1.0devel25</p>
<p>2004-04-01 [jobi] 0.1.0devel24 changed qgiscommit to hopefully fix
all problems</p>
<p>2004-04-01 [jobi] 0.1.0devel23 Extended tools/qgiscommit to pass
parameters to cvs</p>
<p>2004-04-01 [jobi] 0.1.0devel22 Fixed GRASS plugin and provider
build</p>
<p>2004-04-01 [jobi] 0.1.0devel21 fixed strange warning: object
‘foo.$(OBJEXT)’ created both with libtool and without also cleaned the
other Makefiles that way</p>
<p>2004-03-31 [jobi] 0.1.0devel20 fixed small bug renamed
plugins/gps_importer/shapefil.h to shapefile.h</p>
<p>2004-03-31 [jobi] 0.1.0devel19 A lot of small changes to make release
work again Probably more cleaning in the Makefiles needed</p>
<p>2004-03-27 [ts] 0.1.0devel18 Fix for cl parameter “snapshot” to
ensure events are process (ie canvas is drawn!) before snapshot is
taken.</p>
<p>2004-03-27 [jobi] 0.1.0devel17 autogen.sh now passes parameters to
configure fixed tools/qgiscommit by using mktemp, thanx mcoletti
pluginpath is now taken of libdir to be 64bit compliant
(e.g. /usr/lib64/qgis)</p>
<p>2004-03-26 [jobi] 0.1.0devel13 forgot to remove tempfile</p>
<p>2004-03-26 [jobi] 0.1.0devel12 Removed Newline after statusline
Should work now fine! Have fun</p>
<p>2004-03-26 [jobi] 0.1.0devel11</p>
<p>Added qgiscommit tool</p>
<p>2004-03-26 [didge] 0.1.0devel10</p>
<p>Fixed bug #920070 Made plugin-libdir 64bit compatible
(e.g. /usr/lib64/qgis) for AMD64 and PPC64 systems</p>
<p>2004-03-22 [mac] 0.1.0devel9</p>
<p>Added gps_importer plugin (still a work in progress)</p>
<p>2004-03-22 [mac] 0.1.0devel8 s/config.h/qgsconfig.h/ qgsconfig.h now
has header sentinels now will install headers in $(prefix)/qgis/include
and libqis.- library in $(prefix)/lib “src/Makefile” no longer relies on
explicit dependencies and uses better naming scheme for created source
files</p>
<p>2004-03-21 [ts] 0.1.0devel7</p>
<p>Added thumbnail preview of raster to raster props dialog. Added
drawThumbnail method to rasterlayer.cpp Split (overloaded) draw method
in rasterlayer.cpp so that some parts of the original draw method could
be used by drawThumbnail method too.</p>
<p>Fixed a bug in the drawing of pseudocolor single band grayscale
images that prevented all class breaks being displayed.</p>
<p>2004-03-10 [gs] 0.1.0devel7 Added delimited text plugin which
provides gui to add delimited text layers using the delimited_text data
provider Changes to delimited_text data provider to support zooming,
display of attributes, and identifying features. Selecting features does
not work at this time. Auto- changes to support building the delimited
text provider and plugin Minor changes to QgsFeature</p>
<p>2004-03-06 [ts] 0.1.0devel6 Completed session management of plugins
(so active plugins are remembered when qgis closes and reloaded in the
next session).</p>
<p>2004-03-06 [ts] 0.1.0devel6 Save state of plugins in ~/.qt/qtrc file
(in progress). State is saved, just need to implement code to load
plugins marked as active during application startup.</p>
<p>2004-03-06 [ts] 0.1.0devel6 Added QgsRasterLayer::filterLayer which
gets called near the end of each of the 8 renderers. This is the place
to inline filters. Note that eventually filters will be hived out to a
filter plugin mechanism.</p>
<p>2004-03-06 [didge] 0.1.0devel6 Changed configure stuff to write
DEFINES in config.h. PostgreSQL stuff needs testing as I commented the
compileflags in src/Makefile.am Infos will be posted on the devel
mailinglist</p>
<p>2004-03-04 [ts] 0.1.0devel5 Added option to options dialog to disable
splashscreen.</p>
<p>2004-02-28 [ts] 0.1.0devel5</p>
<ul>
<li>-snapshot command line parameter working now and correctly scaling
snapshot to size of pixmap. started moving splashscreen to a global so
other classes diring the startup process can get access to set the
splash status. (in progress)</li>
</ul>
<p>2004-02-28 [gs] 0.1.0devel5 Refactored QgsField to use new coding
conventions Documented QgsField (added docs to qgsfield.h) Updated
doxygen mainpage section in qgis.h Added What’s this? help to main
application window Added providers/delimitedtext and associated source
files to CVS</p>
<p>2004-02-27 [gs] 0.1.0devel4 Corrected debug statements in main.cpp
and added a bit of verbiage to the help text. Removed hard coding of
provider types in the QgisApp::addVectorLayer method. Caller must now
provide compatible arguments that the designated provider can use to
open the data store and fetch data. Changed QgsPgGeoprocessing class to
properly call addVectorLayer.</p>
<p>2004-02-27 [ts] Changed cl parser to getopt Moved project loading out
of loop that loads layers - you now need to specify –project filename to
load a filename. This ensures that you only try to load one project
file. Added –snapshot filename parameter that will load layers and
project files specified, take a screenie of the map view and save it to
disk as filename - this is under construction still. Added
saveMapAsImage(QString) to qgisapp so above cl option can be used.</p>
<p>2004-02-26 [ts] Added a tab to raster layer properties dialog to show
metadata about the raster layer (using gdal metadata)</p>
<p>2004-02-26 [gs] 0.1.0devel3 Added Version to configure.in. QGIS now
displays its version number based on the settings in configure.in</p>
<p>2004-02-24 [gs] Search radius for identifying features on vector
layers added to Preferences</p>
<p>2004-02-23 [ts] Save current view to disk as a PNG image</p>
<h1 id="version-0.1-moroz-february-25-2004">Version 0.1 ‘Moroz’ February
25, 2004</h1>
<p>User interface improvements - menu and dialog cleanups and a new icon
theme based on Everaldo’s Crystal icon set. QGIS can load layers and /
or a project on start up by specifying these on the command line. Symbol
renderers for simple, graduated, and continuous symbols Raster support
for most GDAL formats Raster implementation supports a variety of
rendering settings including semi transparent overlays, palette
inversion, flexible band to color mapping in multiband images and
creation of pseudocolor. Change to a data provider architecture for
vector layers. Additional data types can be supported by writing a
provider plugin Buffer plugin for PostGIS layers PostgreSQL port number
can be specified when making connections Shapefile to PostGIS Import
Tool (SPIT) plugin for importing shapefiles into PostgreSQL/PostGIS User
guide (HTML and PDF) Install guide (HTML and PDF) Plugin manager to
manage loading/unloading of plugins Plugin template to automate the more
mundane parts of creating a new plugin. Numerous bug fixes Removed
dependency on libpq++ when compiling with PostgreSQL/PostGIS support
PostgreSQL/PostGIS layers now rely on GEOS for selecting features</p>
<h1 id="version-0.0.13-december-8-2003">Version 0.0.13 December 8,
2003</h1>
<p>New build system (uses GNU Autoconf) Improvement to sorting in
attribute table Persistent selections (shapefiles only) Display order
can be changed by dragging a layer to a new position in the legend
Export QGIS view as a Mapserver map file Fix for crash on SuSE 9.0 when
moving mouse in legend area</p>
<h1 id="version-0.0.12-alpha-june-10-2003">Version 0.0.12-alpha June 10,
2003</h1>
<p>Multiple features displayed with the Identify tool Identify function
returns and displays attributes for multiple features found within the
search radius Fixes to endian handling on big endian machines Support
for PostgreSQL 7.3 schemas for database layers Features in shapefiles
can be selected by dragging a selection box or selecting the records in
the attribute table Zoom to extent of selected features (Shapefiles
only) Bug fix: Bug that prevented reopening of the attribute table once
it was initially displayed and closed Bug fix: Bug that prevented lines
from being drawn with widths other than 1 pixel Build system has changed
for building with PostgreSQL support.</p>
<h1 id="version-0.0.11-alpha-june-10-2003">Version 0.0.11-alpha June 10,
2003</h1>
<p>Preliminary Plugin Manager implementation Version check under tools
menu Version checking uses port 80 to prevent problems with firewalls
Fix for PostGIS bug when srid != -1 Fix for PostGIS LINESTRING rendering
Database Connections can now be deleted Fixes to Database Connection
dialog Fix for crash when opening a shapefile attribute table twice in
succession Fix for crash when opening invalid shapefiles</p>
<h1 id="version-0.0.10-alpha-may-13-2003">Version 0.0.10-alpha May 13,
2003</h1>
<p><em>Fixes to project save/open support </em>Enhancements to plugin
tests *Fixes to build system (gdal link problem)</p>
<h1 id="version-0.0.9-alpha-january-25-2003">Version 0.0.9-alpha January
25, 2003</h1>
<p><em>Preliminary project save/open support </em>Streamlined build
system</p>
<h1 id="version-0.0.8-alpha-december-11-2002">Version 0.0.8-alpha
December 11, 2002</h1>
<p><em>During repaint, the data store is only accessed if map state or
extent has changed </em>Changes to layer properites aren’t effective
until the Layer Properties dialog is closed *Canceling the Layer
Properties dialog cancels changes</p>
<h1 id="version-0.0.7-alpha-november-30-2002">Version 0.0.7-alpha
November 30, 2002</h1>
<p>*Changes to the build system to allow building with/without PostgeSQL
support</p>
<h1 id="version-0.0.6a-alpha-november-27-2002">Version 0.0.6a-alpha
November 27, 2002</h1>
<p>*Fix to build problems introduced at 0.0.6. No new features are
included in this release.</p>
<h1 id="version-0.0.6-alpha-november-24-2002">Version 0.0.6-alpha
November 24, 2002</h1>
<p><em>Improved handling/management of PostGIS connections </em>Password
prompt if the password is not stored with a connection <em>Windows size
and position and toolbar docking state is saved/restored </em>Identify
function for layers <em>Attribute table for a layer can be displayed and
sorted by clicking on column headers </em>Duplicate layers (layers with
same name) are now handled properly</p>
<h1 id="version-0.0.5-alpha-october-5-2002">Version 0.0.5-alpha October
5, 2002</h1>
<ul>
<li>Removing a layer from the map no longer crashes the application</li>
<li>Fixed multiple render bug when adding a layer</li>
<li>Data source is shown in Layer Properties dialog</li>
<li>Display name of a layer can be changed using the Layer Properties
dialog</li>
<li>Line widths can be set for a layer using the Layer Properties
dialog</li>
<li>Zoom out now works</li>
<li>Zoom Previous added to toolbar</li>
<li>Toolbar has been rearranged and new icons added</li>
<li>Help|About QGis now contains Version, What’s New, and License
information</li>
</ul>
<h1 id="version-0.0.4-alpha-august-15-2002">Version 0.0.4-alpha August
15, 2002</h1>
<ul>
<li>Added Layer Properties dialog</li>
<li>User can set color for layers</li>
<li>Added right-click menu to the layer list in legend</li>
<li>Layers can be removed using the right-click menu (buggy)</li>
<li>Moved the KDevelop project file qgis.kdevprj to the src
sub-directory</li>
<li>Fixed multiple repaint bug that occurred when more than one layer
was added at a time</li>
<li>Fixed bug that caused a full refresh at the beginning of a pan
operation</li>
</ul>
<h1 id="version-0.0.3-alpha-august-10-2002">Version 0.0.3-alpha August
10, 2002</h1>
<ul>
<li>Support for shapefiles and other vector formats</li>
<li>Improved handling of extents when adding layers</li>
<li>Primitive legend that allows control of layer visibility</li>
<li>About Quantum GIS implemented</li>
<li>Other internal changes</li>
</ul>
<p>July 26, 2002 Drawing code now properly displays layers and
calculates extents when zooming. Zoom is still fixed zoom in rather than
interactive.</p>
<p>July 20, 2002 Repaint automatic for layers.</p>
<p>July 18, 2002 Point, line and polygon PostGis layers can be drawn.
Still issues with map extent and positioning of layers on the canvas.
Drawing is manual and not tied to the paint event. No zooming or panning
yet.</p>
<p>July 10, 2002 Layers can be selected and added to the map canvas
collection however the rendering code is currently disabled and being
reorganized. So if you add a layer, nothing will be drawn…</p>
<p>July 6, 2002 This code is preliminary and really has no true
functionality other than the ability to define a PostGIS connection and
display the spatially enabled tables that could be loaded.</p>
<p>This is the initial import of the code base into CVS on
Sourceforge.net.</p>
</body>
</html>
